使用try catch捕捉異常
阿新 • • 發佈:2019-01-27
/*
處理異常的第二種方式:捕捉 try...catch..
語法: try{
可能出現的異常的程式碼;
}catch(異常型別1 變數){
處理異常的程式碼;
}catch(異常型別2 變數1){
處理異常的程式碼
}
1.catch語句塊可以寫多個
2.但是從上到下catch,必須從小型別異常到大型別異常進行捕捉
3.上面的程式碼出現了異常,try語句塊的程式碼不再執行,直接進去catch語句
*/
import java.io.*;
public class fuck4{
public static void main(String[] args){
//以下程式碼編譯無法通過,因為FileNotFoundException沒有處理
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
}catch(ArithmeticException e){ //捕捉的異常是算術異常
}
//編譯通過
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
}catch(FileNotFoundException e){
}
//以下程式無法通過
//因為還有更多的IOException沒有處理
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
fls.read();
}catch(FileNotFoundException e){
}
//編譯可以通過
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
fls.read();
}catch(FileNotFoundException e){
}catch(IOException e){
}
try{
//程式執行到這裡發生了FileNotFoundException型別的異常
//JVM會自動建立一個FileNotFoundException 的物件,
//將該物件中的記憶體地址賦給catch語句中的變數
FileInputStream fls=new FileInputStream("abc");
//上面的程式碼出現了異常,try語句塊的程式碼不再繼續執行,直接進入catch語句塊中執行
System.out.println("tttttt");
fls.read();
}catch(FileNotFoundException e){
//e記憶體地址指向堆中的那個物件是FileNotFoundException型別的
System.out.println("讀取的檔案不存在");
//FileNotFoundException將Object中的toString方法重寫
System.out.println(e);
}catch(IOException e){
System.out.println("其他IO異常");
}
System.out.println("ABC");
}
}
處理異常的第二種方式:捕捉 try...catch..
語法: try{
可能出現的異常的程式碼;
}catch(異常型別1 變數){
處理異常的程式碼;
}catch(異常型別2 變數1){
處理異常的程式碼
}
1.catch語句塊可以寫多個
2.但是從上到下catch,必須從小型別異常到大型別異常進行捕捉
3.上面的程式碼出現了異常,try語句塊的程式碼不再執行,直接進去catch語句
*/
import java.io.*;
public class fuck4{
public static void main(String[] args){
//以下程式碼編譯無法通過,因為FileNotFoundException沒有處理
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
}catch(ArithmeticException e){ //捕捉的異常是算術異常
}
//編譯通過
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
}catch(FileNotFoundException e){
}
//以下程式無法通過
//因為還有更多的IOException沒有處理
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
fls.read();
}catch(FileNotFoundException e){
}
//編譯可以通過
try{
FileInputStream fls=new FileInputStream("c:/ab.txt");
fls.read();
}catch(FileNotFoundException e){
}catch(IOException e){
}
try{
//程式執行到這裡發生了FileNotFoundException型別的異常
//JVM會自動建立一個FileNotFoundException 的物件,
//將該物件中的記憶體地址賦給catch語句中的變數
FileInputStream fls=new FileInputStream("abc");
//上面的程式碼出現了異常,try語句塊的程式碼不再繼續執行,直接進入catch語句塊中執行
System.out.println("tttttt");
fls.read();
}catch(FileNotFoundException e){
//e記憶體地址指向堆中的那個物件是FileNotFoundException型別的
System.out.println("讀取的檔案不存在");
//FileNotFoundException將Object中的toString方法重寫
System.out.println(e);
}catch(IOException e){
System.out.println("其他IO異常");
}
System.out.println("ABC");
}
}