歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java中異常的處理及拋出

首先我們需要知道什麼是異常?

常通常指,你的代碼可能在編譯時沒有錯誤,可是運行時會出現異常。比如常見的空指針異常。也可能是程序可能出現無法預料的異常,比如你要從一個文件讀信息,可這個文件不存在,程序無法運行下去了,故程序要抓這些異常,通過異常處理機制來拋出這些異常,程序員就可以通過拋出的異常來修改代碼。{}try塊中放入可能會出現異常的代碼,catch塊負責捕獲異常,finally塊負責處理一些必須執行的代碼,比較關閉流等。

如何找出異常?(通過什麼方式實現?)

try{
        可能出現異常的語句
}
catch(Exception e){
      如果出現異常,就執行這個語句(捕獲異常)
}

finally{
      不管是否出現異常,總是會執行的語句

}

例如:

import java.util.*;

public class YiChang {

    public static void main (String [] args){
        int shu=0;
        double jg=0;
    try{
    System.out.println("請輸入一個非零數字");   
    Scanner n=new Scanner(System.in);        //建一個掃描器
    String  a=n.nextLine();                    //將掃出來的結果取出
    shu = Integer.parseInt(a);                    //強制轉換成整數
    jg=100/shu;                               
    System.out.println("您輸入的數字為"+jg);
    }
    catch(Exception e){                        //如果中間出現了錯誤,例如輸入的不是數字,或者輸入的值為0,的時候就會走這裡
        System.out.println("輸入錯誤");
    }
    }
}

假設我們輸入一個字符串,那麼輸出的結果為

我們也可以不處理異常,將異常拋出,當該方法被調用時,誰調用,誰來處理異常

在方法名的後面加上throws Exception的方法來拋出

import java.util.Scanner;

public class 異常測試 {
   
    public static double yichang() throws Exception {      //在方法名的後面加throws Exception,聲明即便出錯了也繼續執行,由調用這個方法的函數來try
        System.out.println("請輸入一個非零數字");
        Scanner sc=new Scanner(System.in);
        String a=sc.nextLine();
        int shu=Integer.parseInt(a);
        double jg=100/shu;
        return jg;
   
    }
   
   

    public static void main(String[] args) {
       
        try{
            double c=yichang();            //調用方法,如果沒有異常,直接輸出,如果有異常則走catch
            System.out.println(c);
        }
        catch(Exception e){
            System.out.println("輸入不正確");
        }

    }

}

Copyright © Linux教程網 All Rights Reserved