1 程序中的異常指不期而至的各種狀況,如:文件找不到、網路連接失敗、非法參數等。異常是一個事件,它發生在程序運行期間,干擾了正常的指令流程。Java通 過API中Throwable類的眾多子類描述各種不同的異常。因而,Java異常都是對象,是Throwable子類的實例,描述了出現在一段編碼中的 錯誤條件。當條件生成時,錯誤將引發異常。
Java異常類層次結構圖:
{
=1L;
publicMyException(){
super();
}
publicMyException(Stringmsg){
super(msg);
}
}
使用的話就不演示了 如果你已經研究到了自定義異常 那麼我相信你也一定會使用了
如果不會使用 建議學會使用後再來看這篇文章
② java中如何使用自定義異常
class NotScoreException extends Exception
{
public NotScoreException()
{
super();
}
public NotScoreException(String message)
{
super(message);
}
}
public class MyExceptionTest
{
public static String getGrade(double score)throws NotScoreException
{
if(score<=100&&score>=60)
{
return "及格";
}
else if(score<60&&score>=0)
{
return "不及格";
}
else
{
throw new NotScoreException("輸入成績有誤");
}
}
public static void main(String[] args)
{
try
{
System.out.println("75分的等級為:"+getGrade(75));
System.out.println("105分的等級為:"+getGrade(105));
}
catch (NotScoreException e)
{
System.out.println("發生自定義異常,異常信息為:"+e.
getMessage
());
}
}
}
③ java中自定義異常為何要繼承exception類
在Java中,自定義異常通常是通過繼承`java.lang.Exception`類來實現的。這樣的設計允許開發者創建具有特定含義的異常類型,能夠更准確地反映應用程序中發生的錯誤情況。以下是對您提供內容的潤色和改寫:
1. 異常的分類
- 非運行時異常(Checked Exception):這些異常必須在編譯時被捕獲或者在方法簽名中聲明拋出。
- 運行時異常(Runtime Exception/Unchecked Exception):這些異常通常在程序設計中應避免,但在某些情況下也可能被故意拋出。
2. 異常的處理
- 對於非運行時異常,必須通過`try...catch`語句塊進行捕獲,或者在方法的簽名中使用`throws`關鍵字聲明。
- 運行時異常可以忽略不處理,或者通過`try...catch`語句塊進行捕獲和處理。通常不建議對運行時異常進行捕獲。
3. 捕獲異常
- 示例代碼展示了如何使用`try...catch...finally`語句塊捕獲和處理`FileNotFoundException`。
4. 拋出和捕獲異常
- 可以通過拋出異常將問題交給調用方法處理,或者使用`try...catch`語句塊在方法內部捕獲並處理異常。
5. 自定義異常
- 自定義異常通常直接繼承自`Exception`類,以便能夠捕獲和處理特定的異常情況。
- 創建自定義異常時,可以提供構造方法來初始化異常信息。
- 在類中使用自定義異常時,可以通過拋出該異常來響應特定的錯誤情況。
6. 異常使用注意事項
- 當有多個`catch`語句塊時,應確保將更具體的異常類型 catch 塊放置在更一般的異常類型 catch 塊之後。
- 在`try`語句塊中遇到`return`語句後,`finally`語句塊仍然會被執行,之後才會返回。
- 如果`try`語句塊中包含`System.exit(0)`,將不會執行`finally`語句塊,因為這將導致JVM立即終止。
以上改寫旨在提高內容的清晰度和准確性,同時保留了原文的語義和信息。