簡體   English   中英

“throw(e)”和“throw e”之間的區別?

[英]Difference between “throw(e)” and “throw e”?

我遇到了這個重新拋出的異常,我很驚訝它甚至可以編譯。

} catch(SomeException e) {
    ...
    throw(e);
}

這個throw()和通常使用的是什么區別?...

} catch(SomeException e) {
    ...
    throw e;
}

是否記錄了這些內容的任何鏈接或選擇其中一個的指導?

相當多的語言可以根據需要在表達式周圍添加多個括號。 Java就是其中之一。 以下是完全有效的代碼。

public class HelloWorld {
  public static void main(String[] args) {
    throw ((((new RuntimeException()))));
  }
}

所以除了你的源文件大兩個字節外,沒有什么區別。

在功能上它們是等價的。

但是,不要選擇throw(e); ,因為有人可能會誤認為是方法調用,至少會讓某人不必要地想知道你正在做什么。 喜歡正常throw e; 語法清晰。

扔是一個拋出“拋出”的指令(通常是一個例外)

想想它是否像返回聲明

Public int get value() {
    return 3;
}

是equulivilant

Public int get value() {
    return (3);
}

它與throwable相同。

面對面,他們將遵循完全相同的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM