異常處理小節(jié)-創(chuàng)新互聯(lián)

*編寫應(yīng)用程序EcmDef.java, 接收命令行的兩個參數(shù), 要求不能輸入負數(shù), 計算
兩數(shù)相除。
對 數(shù) 據(jù) 類 型 不 一 致 (NumberFormatException) 、 缺 少 命 令 行 參 數(shù)
(ArrayIndexOutOfBoundsException、
除0(ArithmeticException)及輸入負數(shù)(EcDef 自定義的異常)進行異常處理。
*提示:
(1)在主類(EcmDef)中定義異常方法(ecm)完成兩數(shù)相除功能。
(2)在main()方法中使用異常處理語句進行異常處理。
(3)在程序中, 自定義對應(yīng)輸入負數(shù)的異常類(EcDef)。
(4)運行時接受參數(shù) java EcmDef 20 10 //args[0]=“20” args[1]=“10”
(5)Interger類的static方法parseInt(String s)將s轉(zhuǎn)換成對應(yīng)的int值。
如: int a=Interger.parseInt(“314”); //a=314;
*/
public class EcmDef {
    public static void main(String[] args) {

        try {
            int i=  Integer.parseInt(args[0]);
            int j=  Integer.parseInt(args[1]);
            int result= 0;
            result = ecm(i,j);
            System.out.println(result);
        } catch (NumberFormatException e){
            System.out.println("數(shù)據(jù)類型不一致");
        }
        catch (ArrayIndexOutOfBoundsException e){
            System.out.println("缺少命令行參數(shù)");
        }
        catch (ArithmeticException e){
            System.out.println("除數(shù)為零");
        } catch (Ecmp ecmp) {
            ecmp.printStackTrace();
        }

    }
    public  static int ecm(int i,int j)throws Ecmp{
        if(i<0||j<0){
            throw new Ecmp("分母或分子為負數(shù)了");
        }
        return j/i;
    }

}

/*2
* 如何自定義異常類?
* 1. 繼承于現(xiàn)的異常結(jié)構(gòu):RuntimeException 、Exception
* 2. 提供全局常量:serialVersionUID
* 3. 提供重載的構(gòu)造器?

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(創(chuàng)新互聯(lián)公司).為客戶提供專業(yè)的電信機房托管,四川各地服務(wù)器托管,電信機房托管、多線服務(wù)器托管.托管咨詢專線:028-86922220
package com.project.textlastt;
//自定義異常類

public class Ecmp extends Exception{
    static final long serialVersionUID = -7034897190745766939L;
  public Ecmp(){}
   public Ecmp(String masg){
      super(masg);
    }
}

throw 表示拋出一個異常類的對象,生成異常對象的過程。聲明在方法體內(nèi)。
throws 屬于異常處理的一種方式,聲明在方法的聲明處。?

java異常處理的抓拋模型?

過程一:"拋":程序在正常執(zhí)行的過程中,一旦出現(xiàn)異常,就會在異常代碼處生成一個對應(yīng)異常類的對象。
* ? ? ? ? ? 并將此對象拋出。
* ? ? ? ? ? 一旦拋出對象以后,其后的代碼就不再執(zhí)行。
* ?? ??? ?
* ?? ??? ?關(guān)于異常對象的產(chǎn)生:① 系統(tǒng)自動生成的異常對象
* ?? ??? ??? ??? ??? ? ? ? ② 手動的生成一個異常對象,并拋出(throw)
*?
過程二:"抓":可以理解為異常的處理方式:① try-catch-finally ?② throws

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

名稱欄目:異常處理小節(jié)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article14/dpigde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、定制網(wǎng)站網(wǎng)站導(dǎo)航、云服務(wù)器、網(wǎng)站設(shè)計、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)