2014-09-02 15 views

回答

32
  1. throws子句用於聲明例外,throw關鍵字來顯式地拋出異常。

  2. 如果我們看到語法明智然後throw後跟一個實例變量和throws後面是異常類名稱。

  3. 在方法體內使用關鍵字throw來調用異常,並且在方法聲明(簽名)中使用throws子句。

例如

throw new Exception("You have some exception") 
throw new IOException("Connection failed!!") 

拋出

public int myMethod() throws IOException, ArithmeticException, NullPointerException {} 
  • 你不能聲明MULT與throw的例外情況。您可以聲明多個例外,例如public void method()拋出IOException,SQLException。

  • 已檢查的異常不能與throw一起傳播,只是因爲它明確用於引發特定的異常。檢查異常可以通過throws傳播。

  • 異常傳播:例外,從傳播方法的方法,調用堆棧向上,直到它的捕獲。因此,如果a()調用調用c()的b()(它調用d(),並且如果d()拋出異常,則異常將從d傳播到c到b,除非這些方法中的一個捕獲例外。 what is exception propagation?

    +1

    感謝您的答案 – user3527594 2014-09-02 07:14:39

    +1

    通過在java中使用Throw關鍵字,你不能拋出多個異常,但使用拋出你可以聲明多個異常。 – hitesh141 2015-04-28 09:16:57

    5

    throw使用投擲實際Exceptionthrows聲明在方法它可能會拋出Exception

    public int findMax(int[] array) throws Exception{ 
        if(array==null) 
         throw new NullPointerException(...); 
        ... 
    } 
    
    +1

    謝謝...指出錯誤 – 2014-09-02 07:15:28

    0
    public void someMethod(List<Foo> someList) throws SomeException { 
        if (someList.isEmpty()) throw new SomeException(); 
    }