码迷,mamicode.com
首页 > 编程语言 > 详细

Java-异常初步练习

时间:2019-03-16 23:33:42      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:还需   sys   初步   private   案例   第一个   stat   else   name   

案例一:

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());
        }
    }

}

执行结果:

技术图片

 

 

 



 

 

案例二:

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 方法丢出的异常
        }
    }
}

执行结果:

技术图片

 

Java-异常初步练习

标签:还需   sys   初步   private   案例   第一个   stat   else   name   

原文地址:https://www.cnblogs.com/android-deli/p/10544893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!