首页 课程 师资 教程 报名

Java入门视频:Java中自定义异常

  • 2019-09-03 15:13:00
  • 2342次 动力节点

timg (12).jpg

       异常分类

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

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

  1.1.运行异常(了解)

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

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

  运行异常特点:

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

  1.2.编译异常(了解)

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

  特点:

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

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

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

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

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

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

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

image.png

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

image.png

  测试类

image.png

  本系列教程为动力节点Java基础内部教材,若要获得最好的学习效果,需要配合对应教学视频一起学习。视频教程:http://www.bjpowernode.com/video.html,希望可以帮助到大家,学习中遇到问题,可登录官网咨询在线客服老师。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交