您好,登錄后才能下訂單哦!
1.?非受查異常(unchecked exception)
–編譯器不要求強(qiáng)制處置的異常
–java.lang.RuntimeException類及它的子類都是非受查異常
?錯(cuò)誤的類型轉(zhuǎn)換異常:ClassCastException
?組下標(biāo)越界異常:ArrayIndexOutOfBoundsException
?空指針訪問異常:NullPointerException
除零溢出異常:ArithmeticException
2.?受查異常(checked exception)
–編譯器要求必須處置的異常
?沒有找到具有指定名稱的類:ClassNotFoundException
?訪問不存在的文件異常:java.io.FileNotFoundException
?操作文件時(shí)發(fā)生的異常:java.io.IOException
?操作數(shù)據(jù)庫時(shí)發(fā)生的異常:java.sql.SQLException
[java] view plaincopy
package com.mys.ajax;??
??
import java.io.IOException;??
??
public class CatchTest {??
??
? ? /**?
? ? ?* @param args?
? ? ?*/??
? ? public static void main(String[] args) {??
? ? ? ? test1();??
? ? ? ? test2();??
? ? ? ? test3();??
? ? ? ? test4();??
? ? ? ? test5();??
? ? }??
??
? ? private static void test1() {??
? ? ? ? try{??
? ? ? ? ? ? System.out.println("www.csdn.net");??
? ? ? ? }catch (IndexOutOfBoundsException ex) {??
? ? ? ? ? ? ex.printStackTrace();??
? ? ? ? }??
? ? }??
? ? private static void test2() {??
? ? ? ? try{??
? ? ? ? ? ? System.out.println("www.csdn.net");??
? ? ? ? }catch (NullPointerException ex) {??
? ? ? ? ? ? ex.printStackTrace();??
? ? ? ? }??
? ? }??
? ? private static void test3() {??
? ? ? ? try{??
? ? ? ? ? ? System.out.println("www.csdn.net");??
? ? ? ? }catch (IOException ex) {//1.??
? ? ? ? ? ? ex.printStackTrace();??
? ? ? ? }??
? ? }??
? ? private static void test4() {??
? ? ? ? try{??
? ? ? ? ? ? System.out.println("www.csdn.net");??
? ? ? ? }catch (ClassNotFoundException ex) {//2.??
? ? ? ? ? ? ex.printStackTrace();??
? ? ? ? }??
? ? }??
? ? private static void test5() {??
? ? ? ? try{??
? ? ? ? ? ? System.out.println("www.csdn.net");??
? ? ? ? }catch (Exception ex) {??
? ? ? ? ? ? ex.printStackTrace();??
? ? ? ? }??
? ? }??
??
}??
上面1和2出編譯是就報(bào)錯(cuò),由于編譯器認(rèn)為System.out.println("www.csdn.net"); 這句話不可能拋出這兩個(gè)異常。
根據(jù)Java語言規(guī)范,如果一個(gè)catch子句試圖捕獲一個(gè)Checked異常,那么它對應(yīng)的try子句必須可能拋出該Checked異?;蛘咂渥宇惍惓?,否則,編譯器即提示編譯錯(cuò)誤!
區(qū)別于RuntimeException異常,Runtime異常非常靈活,無須顯示聲明拋出,只要程序有需要,即可以在任何有需要的地方使用try...catch來捕獲。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。