溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java出現(xiàn)異常的處理方法

發(fā)布時間:2020-08-01 14:58:29 來源:億速云 閱讀:132 作者:清晨 欄目:編程語言

這篇文章主要介紹java出現(xiàn)異常的處理方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

異常的處理分為消極的處理(自己處理不了,就往調(diào)用它的地方上拋throws,異常沒有解決,只是拋出)和積極處理(異常捕獲,捕捉異常通過try-catch語句或者try-catch-finally語句實現(xiàn))。

消極的處理:

語法:

public void m1() throws 異常類名1,異常類名2{}

允許編譯通過。

當上拋的異常為非運行(已檢查)時異常時,調(diào)用此方法的調(diào)用者必須處理。

當上拋的異常為運行(未檢查)時異常時,可以處理可以不處理。

積極的處理:(異常捕獲)

將異常直接捕獲,并且做出處理。

語法:

try{
	  //異常代碼
	}catch(異常類名 引用名){  

		//當異常產(chǎn)生執(zhí)行的代碼
	}

try 后的catch代碼塊只能匹配成功一個。

catch后聲明的異常為父類時,它能夠捕捉的異常為它本身+所有子類異常(多態(tài)的體現(xiàn))。

注意:catch代碼塊捕獲異常時,子類異常必須定義在父類異常前面,否則會編譯出錯。

(視頻教程推薦:java視頻教程)

finally代碼塊:一定會執(zhí)行此代碼塊中的代碼,常用來關閉資源。

	try{
	
	}catch(){
	
	}finally{
		//無論是否產(chǎn)生異常,一定會去執(zhí)行的代碼
	}

注意:finally代碼塊中不要定義return語句。

舉例:

package work;

import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * @author 超偉
 * @date 2019年5月13日  
 * @version 1.0.0  
 */
public class t4 {
	public static void main(String[] args) {
		System.out.println("main1");
		int n;
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		ma(n);
		System.out.println("main2");
	}
	public static void ma(int n){
		try {
			System.out.println("m1");
			mb(n);
			System.out.println("m2");
		} catch (EOFException e) {
			//e.printStackTrace();
			System.out.println("EOFException    ");
		} catch (IOException e) {
			System.out.println("IOException e111");
		}catch (SQLException e) {
			System.out.println("SQLException");
		}catch (Exception e) {
			System.out.println("Exception");
		}finally{
			System.out.println("in finally");
		}
	}
	
	public static void mb(int n) throws Exception {
		System.out.println("mb1");
		if (n==1) {
			throw new EOFException();
		}
		if (n==2) {
			throw new FileNotFoundException();
		}
		if (n==3) {
			throw new SQLException();
		}
		if (n==4) {
			throw new NullPointerException();
		}
		System.out.println("mb2");
	}	
}
程序運行結(jié)果為:
main1
1
m1
mb1
EOFException    
in finally
main2

以上是java出現(xiàn)異常的處理方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI