自定义异常和抛出捕捉

昨天学到自定义异常的时候...某up说自定义异常很少需要用到,今天练题的时候就碰到了,来码一下。

自定义异常类大概分为两种:

1.自定义异常类继承自Exception类

extends Exception;

2.自定义异常类继承自RuntimeException类

只需要检查运行期异常

下图是java异常类层次

其中runtimeException也就是运行时异常数组越界,空指针,非法运算居多。

Error和Exception区别在与前者多是JVM虚拟机错误,资源耗尽。后者是因编程错误或者偶然的外在问题,可以通过程序员手动修改解决。

定义类继承Exception或者RuntimeException,如果希望写一个检查性异常类,则需要继承 Exception 类。如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。
        1,为了让该自定义类具备可抛性。
        2.让该类具备操作异常的共性方法。
例:

 这里抛出了异常自定义类TeamException并且括号里的参数是字符串类型的 想定义这个异常 可以新建类TeamException(要有一个无参构造方法和有参构造方法)

自然就可以更改参数,只要将将异常信息传递给父类通过super 语句即可。

 其他笔记:

1.在捕获异常的代码块中,如果有一个代码异常了,就不会执行后面的异常。

在捕获到第一个数组越界异常后,第二个catch不予执行。

2.子类重写父类方法时,子类不能抛出大于父类的异常。

猜你喜欢

转载自www.cnblogs.com/celtics-huha/p/12046758.html