您好,登錄后才能下訂單哦!
如何理解java中的異常?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
什么是java異常
Java異常是Java提供的一種識別及響應錯誤的一致性機制。在程序執行中,任何中斷正常程序流程的異常條件就是錯誤或異常 。
例如,發生下列情況時會出現異常:用戶可能鍵入一個無效的輸入值,程序可能試圖打開一個不存在的文件,網絡連接中斷,程序可能試圖訪問一個越界的數組元素,正在裝載的類文件丟失等等
為什么要有異常
為什么要有異常呢?有問題我直接更改,改對就好了呀!大家看,出現問題,然后更改,那是不是首先你應該知道問題在哪里,如果沒有異常來報錯的話,是不是無法準確的去判斷問題到底在哪里呢,所以這里是不是可以認為異常的作用就是指示出問題的代碼塊的位置及異常的內容呢。
java異常關鍵字
? try -- 用于監聽。將要被監聽的代碼(可能拋出異常的代碼)放在try語句塊之內,當try語句塊內發生異常時,異常就被拋出。
? catch -- 用于捕獲異常。catch用來捕獲try語句塊中發生的異常。
? finally -- finally語句塊總是會被執行。它主要用于回收在try塊里打開的物力資源(如數據庫連接、網絡連接和磁盤文件)。只有finally塊,執行完成之后,才會回來執行try或者catch塊中的return或者throw語句,如果finally中使用了return或者throw等終止方法的語句,則就不會跳回執行,直接停止。
? throw -- 用于拋出異常。
? throws -- 用在方法簽名中,用于聲明該方法可能拋出的異常。
示例:
public class Demo1 { public static void main(String[] args) { try { int i = 10/0; System.out.println("i="+i); } catch (ArithmeticException e) { System.out.println("Caught Exception"); System.out.println("e.getMessage(): " + e.getMessage()); System.out.println("e.toString(): " + e.toString()); System.out.println("e.printStackTrace():"); e.printStackTrace(); } } }
運行結果:
Caught Exception e.getMessage(): / by zero e.toString(): java.lang.ArithmeticException: / by zero e.printStackTrace(): java.lang.ArithmeticException: / by zero at Demo1.main(Demo1.java:6)
關于如何理解java中的異常問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。