2012-05-30 51 views
2

我有兩個關於Exceptions的問題。首先,我從我的代碼此消息...線程「主」java.lang.ArithmeticException異常:/由零

Exception in thread "main" java.lang.ArithmeticException:/by zero 

此錯誤消息指除以零,如通過做int a = 5/0;

一個方法可以拋出Exception類的實例,不就可以了?但這是一個表達。爲什麼表達式會拋出一個Exception類實例?

我的第二個問題是關於thread "main"。什麼是thread "main""main"是指static main的方法嗎?

回答

3

java.lang.ArithmeticException是一種Exception,旨在更好地描述問題實際是什麼。創建Exception沒有意義,因爲它可能是由任何事情造成的。通過生成ArithmeticException,用戶可以立即知道問題與計算有關。一個Exception可以被任何一段代碼拋出,包括在你的例子等計算中。

Exception in thread "main"意味着main()方法引發了異常,該方法也恰好是運行代碼的主線程。

1

方法可以拋出異常類實例,不是嗎?

是的,他們可以。

但這是聲明。爲什麼語句可以拋出異常類實例?

異常可能發生在任何地方。所以即使是語句也會拋出異常。如果你的意思是爲什麼不能陳述異常,那麼他們可以。這裏有一個例子:

if ((a/b) == 0) { 
     throw new ArithmeticException(); 
    } 

第二個問題是關於線程「主」。什麼是線程「主」?

當一個Java程序啓動時,一個線程立即開始運行。這通常稱爲程序的主線程,因爲它是程序開始時執行的主線程。

相關問題