前两篇:对Java中的异常的认识和分析(共三篇--异常认识和异常处理及自定义异常,此为一)-CSDN博客
Java中的异常处理---第二篇(共三篇,原理+具体实现和细节)-CSDN博客
非常建议读者去浏览一下,看完能让你对Java异常原理和如何去处理异常以及什么情况下用,有一个更好的理解,还是那句话,能不能清晰的给面试官阐述是一个关键!
好了,接下来是我们这篇文章的主旨---自定义异常。
自定义异常是什么?什么时候我们需要自定义异常?
Java中对于一些常见的异常都做了相应的异常类,譬如,空指针异常,算术异常等等,但难免有些异常是没有包含进来的,这个时候就需要我们自己去定义异常,不过这种情况其实是非常少的,我们更需要的是更加详细并且符合项目需求的异常信息,而并非像Java中那样去打印堆栈信息。因此与其说是自定义异常,不如说个性化异常信息更好一些。
如何去自定义一个异常?
首先我们去自定义一个类,并继承Exception类或者RunTimeException类,有什么区别呢?
如果你继承的是Exception,那么该异常属于编译异常(在编译阶段就生效,不理解请看前面的文章),继承RunTimeException类,该异常属于运行时异常,在程序运行时生效。一般我们来说都是继承RunTimeException类,编写运行时异常类。
//年龄异常类
class AgeException extends RuntimeException {
public AgeException(String message) {//构造器
super(message);
}
}
//测试年龄异常类
public class CustomException {
public static void main(String[] args) /*throws AgeException*/ {
int age = 180;
//要求范围在 18 – 120 之间,否则抛出一个自定义异常
if(!(age >= 18 && age <= 120)) {
//这里我们可以通过构造器,设置信息
throw new AgeException("年龄需要在 18~120 之间");
}
System.out.println("你的年龄范围正确.");
}
}
以上就是自定义异常类的内容,这部分比较简单,看过我前面文章的应该没什么问题,只要知道定义的规则和语法就没什么问题了,Java中的异常这部分就更完了,感谢各位的关注和点赞。
顺手点个赞和关注喔!非常感谢!会一直更新Java中的相关内容的!