我们要知道,使用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语句去释放占用的资源。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程