您的位置 首页 java

Java入门教程-Java中的异常/自定义异常

1. 异常分类

异常体系分成:checked(编译)异常和 runtime (运行)和异常。

划分规则是,RuntimeException和其子类属于运行异常,异常除了运行异常,其他都是编译异常。

1.1. 运行异常(了解)

runtime异常,顾名思义在编译时期不被检测,只有在运行时期才会被检查出来。

运行异常可以不使用try…catch处理,但一旦出现异常就将由JVM处理(打印堆栈信息)。RuntimeException(运行时异常)通常是指因设计或实现方式不当而导致的问题。程序员小心谨慎是可以避免的异常。如:事先判断对象是否为null就可以避免NullPointerException异常,事先检查除数不为0就可以避免ArithmeticException异常。

运行异常特点:

在编译阶段, Java 编译器检查不出来。一般的,程序可以 不用 使用try-catch和 throws 处理运行异常。

1.2. 编译异常(了解)

编译被检查异常,顾名思义就是在编译时期就会被检测到的异常。除了Runtime Exception 以及子类以外,其他的Exception及其子类都是编译异常,有时候也称之为 非runtime异常。

特点:

在编译阶段,Java编译器会检查出异常,也就说程序中一旦出现这类异常,要么使用try-catch语句捕获,要么使用throws语句声明抛出它,否则编译就不会通过。

简而言之:程序要求必须处理编译异常,使用try-cathc或throws处理。

1.3. 自定义异常类(掌握)

一个异常类只表示某一种特定的异常类型,在项目开发中,可能会出现特定的逻辑错误,此时开发者可以对这些错误进行封装成异常。比如我们可以定义一个LogicException用于表示业务逻辑异常。

自定义异常的两种方式,可以继承Exception类或RuntimeException类。一般推荐继承RuntimeException类。

继承异常类之后,一般的,需要提供无参 构造方法 和带一个String类型参数的 构造器

定义一个客户类,表示一个客户。

定义一个客户异常,专门表示抛出给用户看的异常类型。

测试类

本系列教程为叩丁狼Java基础班内部教材,若要获得最好的学习效果,需要配合对应教学视频一起学习。需要完整教学视频,请私信作者。

文章来源:智云一二三科技

文章标题:Java入门教程-Java中的异常/自定义异常

文章地址:https://www.zhihuclub.com/180711.shtml

关于作者: 智云科技

热门文章

网站地图