A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大蓝鲸Java 中级黑马   /  2019-7-19 12:02  /  491 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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("年龄正确");
        }
    }

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


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马