JAVA try & catch 問題

請教:

在JAVA程式當中, 小弟想利用try跟catch來偵測錯誤類型, 但是不確定錯誤類型的名稱, 例如 c=a/b, 若是b=0, 相信一定發生錯誤, 但是怎樣才可以知道此類的錯誤屬於何種類型呢?

當然這是個簡單的例子, 可以這樣寫:

int a=10,b=0,c;

try

{

if(b==0)

{

throw new Exception(\"Cant 0\");

}

c=a/b;

}

catch(Exception e)

{

out.println(e.toString());

}

但是錯誤的類型可能很多, 小弟在網路上找到很多類型如: AWTException, ApplicationException, CloneNotSupportedException, IOException......

**在不卻定那種錯誤類型的時後,是否有更好的方法呢?

可否舉最簡單又實用的方法舉例呢??

感激不盡!!!

Update:

謝謝兩位的回答, 都很棒...不知道要給誰 ...

但是重點是小弟已經了解.....謝謝兩位熱心.....

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    IllegalArgumentException

    底下有個

    NumberFormatException

    我想應該是屬於這個exception吧...

    catch (NumberFormatException e){

    s.o.p(e.toString());

    }

    第一位留言的大哥講解的算蠻詳細的,有個general的方法可以抓所有的錯誤

    就是catch(Exception e){}//可以不管所有的錯誤都進來這裡跑.

    但是我記得,如果你不用try+catch跑的話,如果不能除於0,

    應該就會再dos的視窗顯示出是那種錯誤,然後再把那個錯誤拿去放try+catch的catch裡面應該就可以找到是什麼樣的錯誤吧..@@....

    Source(s): 小弟琢見
  • 1 decade ago

    checked exceptions 表示這一類的方法都必須放入 try-catch 敘述內或自行丟出例外

    unchecked exceptions 或稱Runtime Exception表示這一類的方法可以不必放入 try-catch 敘述內,若產生exceptions會丟給JVM處理

    在執行時,有exception產生,他就會顯示你發生那一種exception

    任何一個exception都可由catch(Exception e)來捕捉

    若想要提早知道這個方法可能會發生某種exception,就要自行查API了

Still have questions? Get your answers by asking now.