我们要知道,使用Java内置的异常类可以描述在编程时的大部分异常,除此之外,我们在编程时还可以扩展Exception类定义自己的异常类,然后根据程序的需要来规定哪些方法产生这样的异常。


自定义异常类的格式:

public class 异常类名 extends Exception {
    无参构造
    带参构造
}


例如:

public class DotcppException extends Exception {
    //无参构造
    public DotcppException() {
    } //带参构造
    public DotcppException(String message) {
        //异常错误消息
        super(message);
    }
}


一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行。程序必须在try-catch块语句中调用可能发生异常的方法,其中catch的作用就是捕获throw关键字抛出的异常对象。


注意:throw是Java的关键字,该关键字的作用就是抛出异常,throw和throws是两个不同的关键字。


总结:

(1)处理运行时异常的时候,采用逻辑去规避的同时辅助try-catch去处理;

(2)在多重catch块的后面,可以加个catch(Exception)来处理可能遗漏的异常;

(3)对于不确定的代码,也可以用try-catch处理潜在的异常;

(4)尽量去处理异常,切记只是简单地调用printStackTrace()去输出打印;

(5)具体如何去处理异常,要根据不同的业务需求和异常的类型去处理;

(6)尽量添加finally语句去释放占用的资源。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)