raj*_*esh 7 java oop exception
编写自定义异常类的目的主要是什么,它的作用是相同的.例如,NullPointerException:
class NullPointerException extends RuntimeException {
private static final long serialVersionUID = 5162710183389028792L;
public NullPointerException() {
super();
}
public NullPointerException(String s) {
super(s);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我见过和创建的大多数异常类的基本模板.
我能想到的一个目的是处理这些异常.但是这不能基于异常消息吗?我们主要为每种异常类型编写单个处理代码.我知道这有"例外".
但还有什么呢?这不是重复自己只有班级名称改变的地方吗?
还有任何JDK异常类有一些代码吗?
我可以想到几个原因:
catch子句中具体化,并且只捕获他们关心的异常并知道如何处理.ArrayIndexOutOfBoundsException携带有问题的数组索引,SQL异常往往带有特定于数据库的错误代码和消息.它基本上是用不同的方式处理不同的异常。比如说,您可能希望对 ArrayIndexOutOfBoundsException 执行一些与 NumberFormatException 不同的操作。
或者更清楚地
}catch (ArrayIndexOutOfBoundsException ex){
//operation 1
}catch (NumberFormatException ex){
//operation 2
}
Run Code Online (Sandbox Code Playgroud)