Java基礎入門之異常、異常分類、異常防護解析
前言
大家好,我是Java進階者。這篇文章我們主要介紹Java基礎入門之異常、異常分類、異常防護知識,一起來學習下吧!
一、異常
(一)什么是異常
在我們現實生活中,例如感冒發燒、電腦突然出現藍屏等,在程序中也會出現不正常的情況,例如磁盤不足、網絡中斷等,像我們手機有時候微信會出現彈窗提示無法響應。在程序執行中,任何中斷正常程序運行就是異常。
(二)java中引起異常因素
第一種,Java 虛擬機檢測到不正常的運行,這些狀態可能是由以下幾種情況引起的:
1.表達式算數異常,例如3被0整數。
2.在載入程序時出現錯誤。
3.超出某些限制資源,例如使用的內存空間太多了。
第二種,Java代碼中的throw 語句被運行。
第三種,異步異常,這個異常可能的原因是
1.thread 的stop 方法被執行。
2.Java 虛擬機內部出現錯誤。
(三)java處理異常有兩種方式捕獲異常和拋出異常
1.捕獲異常:當明確知道怎么去處理這些異常時,采取捕獲的方式進行處理。
2.拋出異常:當不知道怎么去處理這些異常時,采取拋出的方式進行處理。
(四)異常例子
例如:
- public class p34 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- int result=div(6,0);//調用div()方法
- System.out.println(result);
- }
- //此方法實現兩個整數相除
- public static int div(int a,int b){
- int result=a/b;//定義一個int類型變量result,保存兩個數相除結果
- return result;//結果返回值
- }
- }
運行的結果是:

我們從上面的運行結果可以看到java.lang.ArithmeticException,這個異常是調用div()方法傳入了0,在運算時出現錯誤,因為是被0整除。在Java運行時系統找不到可以捕獲異常的方法,就會運行時系統將終止,相應的Java程序也將退出。
二、異常分類
Object是所有類的父類或基類,Throwable類分別由兩個子類Error和Exception。Error表示的是產生的錯誤,Exception表示產生的異常。

Error類表示錯誤類,表示在程序在運行產生系統出現錯誤或超出某些限制資源,這種情況是如果改程序本身是不能恢復的運行的。
Exception類表示異常類,表示本身可以處理錯誤,在開發程序中進行異常處理,針對它的子類。
Throwable類常用方法
String getMessage()方法是返回Throwable詳細信息字符串
Void printStackTrace()方法是把 Throwable 及其追蹤輸出至標準錯誤流。
Void printStackTrace()方法是把 Throwable 及其追蹤輸出到指定輸出流。
三、try...catch語句
1.如果Java運行時系統找不到可以捕獲異常的方法,則運行時系統將終止,相應的Java程序也將退出。解決這個問題使用一種異常進行的處理方式是異常處理。
2.異常捕獲語法
- try
- {
- //可能發生異常的代碼塊;
- }
- catch(異常類型 異常的對象名)//捕獲并處理異常
- {
- //異常處理代碼塊;
- }
3.使用try...catch語句例子
- public class p35 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //定義一個try...catch語句捕獲異常
- try{
- int result=div(6,0);//調用div()方法
- System.out.println(result);
- }catch(Exception e){//捕獲并處理異常
- System.out.println("捕獲異常信息為"+e.getMessage());
- }
- System.out.println("程序繼續向下執行");
- }
- //此方法實現兩個整數相除
- public static int div(int a,int b){
- int result=a/b;//定義一個int類型變量result,保存兩個數相除結果
- return result;//結果返回值
- }
- }
運行的結果是:

從上面代碼中,try代碼塊是可能發生異常的代碼塊,發生被0整除,接著運行catch代碼調用Exception對象的getMessage()方法,返回異常信息/ by zero。處理完后繼續往下執行。
四、總結
本文主要介紹了異常、異常分類、try...catch語句。
異常是在程序執行中,任何中斷正常程序運行就是異常。介紹了引起異常的因素,java處理異常有兩種方式捕獲異常和拋出異常,使用異常的例子來幫助理解什么是異常。
異常分類Object是所有類的父類或基類,Throwable類分別由兩個子類Error和Exception。介紹了Throwable類常用方法。
當Java運行時系統找不到可以捕獲異常的方法,則運行時系統將終止,相應的Java程序也將退出,使用try...catch語句解決這個問題。
希望大家通過本文的學習,對你有所幫助!