天天看点

【Java编程高级进阶】如何使用自定义类型的异常?

1. 非运行时异常(Checked Exception)

Java中凡是继承自Exception但不是继承自RuntimeException的类都是非运行时异常。

2. 运行时异常(Runtime Exception/Unchecked Exception)

RuntimeException类直接继承自Exception类,称为运行时异常。Java中所有的运行时异常都直接或间接的继承自RuntimeException。

Java中所有的异常类都直接或间接的继承自Exception。

一、对应非运行时异常,必须对其进行处理。处理方式有两种:

使用try…catch…finally语句块进行捕获

在产生异常的方法所在的方法声明throws Exception

二、对于运行时异常,可以不对其进行处理,也可以对其进行处理。一般情况下都不对其进行处理。

在使用Java API的方法时会产生异常,由于实际的需要,我们需要创建和使用自定义异常。使用全新的异常类,应用到系统程序中。

其实这是问题处理的模式/方式之一;

其它的是什么?例如WindowsAPI的GetLastError,swift、Go的多返回值 ,返回一个实体类包含所有需要的信息;

而这个方法同样也有多种应用。

应用一:你的一个方法中把一些必须满足的条件作为异常来处理;

应用二:你的一个方法中把所有可能遇到的异常都捕获了,附加上其它信息抛出新的异常;

应用三:以上两种混合应用;

自定义异常类:CustomException.java

应用类Servlet:SimpleServlet.java

这里只是演示自定义异常的使用方式,不要纠结演示代码的业务合理性,

如果你有更好的应用场景欢迎分享!

我这里只定义了一个异常类:CustomException,你也可以做如下定义,只要你喜欢:

UserNameException,PasswordException,FileWriteException……等等。

===========文档信息============ 

版权声明:非商用自由转载-保持署名-注明出处 

署名(BY) :testcs_dn(微wx笑) 

文章出处:[无知人生,记录点滴](http://blog.csdn.net/testcs_dn)