黑马程序员技术交流社区

标题: 【南京校区】自定义异常 [打印本页]

作者: 大蓝鲸Java    时间: 2019-7-19 12:02
标题: 【南京校区】自定义异常
1.自定义异常
                Java中为什么要定义这么多的异常类?
                        其实就是为了让代码报异常时,更加的见名知意。
                        这么多异常类真正有用的是谁?类名。

                所以我们为什么要写自定义异常?
                        因为Java中已经出现的这些已经不能完美的形容我现在出现的这个问题。
                        比如:AgeOutOfBoundsException //年龄超出范围异常。

                在这种情况下,我们就可以自定义一个异常类。


        书写步骤:
                1.纹身
                        //见名知意 --- 类名要可以完美的描述现在出现的这个异常
                        //类名后缀使用Exception
                2.拜大哥
                        //写继承关系
                                //1,可以异常运行时异常  继承 RuntimeException
                                //2. 可以非运行时异常    继承 Exception
                               
                                习惯:当你的异常一般跟本地信息有关时,继承Exception(编译时异常)
                                                        //你要操作本地文件。  操作本地数据库
                                                        //你要操作本地的时间信息了。
                                          当不需要跟本地信息产生交互时,继承RuntimeException(运行时异常)
                                                        //比如数组越界、年龄超出范围。
                3.左手拿把刀
                                空参构造

                4.右手拿把刀
                                全参构造





处理异常数据的两种方式:
1、使用自定义异常抛出//开发常用
public static void checkAge1(int age) {
        if (age < 0 || age > 120) {
            throw new AgeOutOfBoundsException(age + "");
        } else {
            System.out.println("年龄正确");
        }
    }

2、以前的写法,使用判断//简单,方便
    public static void checkAge2(int age) {
        if (age < 0 || age > 120) {
            System.out.println(age + "超出了范围");
        } else {
            System.out.println("年龄正确");
        }
    }

第一种的代码在开发中更为的常用
因为针对于调用者来讲,会有一个返回结果。
调用者就可以根据返回结果进行不同处理操作。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2