Java-異常初步練習

案例一:

package com.esandinfo;

/**
 * 自定義一個Exception類
 */
class MyCustomException extends RuntimeException {

    private String name;

    MyCustomException(String name, int falg) {
        this(name);
    }

    MyCustomException(String name) {
        this.name = name;
    }

    public String getName() {return name;}
}

/**
 * 我如今去使用 剛剛自定義的Exception類
 */
class MyUtils {

    public void doAction(String name) throws MyCustomException { // 須要在這裏注意:,異常的拋出,好讓main方法處理
        if ("史珍香".equals(name)) {
            throw new MyCustomException("兄弟,史珍香他報錯了,你去處理異常吧!!!!", 0001);
        } else if ("李狗蛋".equals(name)) {
            throw new MyCustomException("兄弟,李狗蛋他奔潰了,你去處理異常吧!!!!", 0002);
        } else {
            throw new MyCustomException("未知異常,你去處理異常吧!!!!", -1000);
        }
        // .... 之後還須要定義異常,能夠往下面加
    }

}

public class MyTest {

    public static void main(String[] args) {
        try {
            new MyUtils().doAction("史珍香");
            new MyUtils().doAction("李狗蛋"); // 不會執行了,由於第一個方法已經被捕獲了,進入了 catch 
            new MyUtils().doAction(null);
        } catch (MyCustomException e) {
            // 打印捕獲到的異常
            System.out.println(e.getName());
        }
    }

}

執行結果:this

 

 

 



 

 

案例二:

package com.esandinfo;

/**
 * 自定義一個Exception類,專門計算 【加法】 之後你能夠增長爲: 加減乘除
 */
class MyException extends RuntimeException {

    private int result; // 這是計算後的結果值

    MyException(int value1, int value2) {
         result = value1 + value2;
    }

    public int getResult() {return this.result;}
}

/**
 * 我如今去使用 剛剛自定義的MyException類
 */
class Utils {

    public void doAction(int value1, int value2) throws MyException { // 須要在這裏注意:,異常的拋出,好讓main方法處理
        throw new MyException(value1, value2);
        // .... 之後還須要定義異常,能夠往下面加
    }

}

public class MyCount {
    public static void main(String[] args) {
        try {
            // 我如今調用 上面的Utils中的方法,就是爲了捕獲 Utils-->doAction方法丟出的異常
            new Utils().doAction(1000, 1000);
        } catch (MyException e) {
            System.out.println(e.getResult()); // 打印獲得的 Utils-->doAction 方法丟出的異常
        }
    }
}

執行結果:spa

相關文章
相關標籤/搜索