异常相关的概念

异常相关的概念,第1张

异常相关的概念

1、Throwable 作为所有异常的超类

所有异常的间接父类

2、class Error extends Throwable

错误

3、class Exception extends Throwable

异常:Exception分为运行时异常(RuntimeException)和非运行时异常

4、class RuntimeException extends Exception

RuntimeException异常不应该通过try-catch的方式来处理,发生后代码不能继续执行,需立即终止

5、class 非RuntimeException extends Exception

除了RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常

运行时异常

出现RuntimeException的时候,我们可以不处理。当出现这样的异常时,总是由虚拟机接管,出现运行时异常后,如果没有捕获处理这个异常(即没有try-catch),系统会把异常一直往上层抛,一直到最上层
如NullPointerException、IndexOutOfBoundsException、IllegalArgumentException等

非运行时异常

非运行时异常是RuntimeException以外的异常,比如IOException、SQLException、FileNotFoundException等以及用户自定义的Exception异常。

如何定义异常

在Java中,对于运行异常和非运行异常,也可以称为已检查和未检查的异常

  1. 已检查 -扩展java.lang.Exception 以获取可恢复的条件,尝试尝试捕获异常,并编译错误。
  2. 未检查 -扩展java.lang.RuntimeException 以恢复不可恢复的条件,例如编程错误,无需try-catch,运行时错误

如何判断定义哪种类型的异常:

  • 如果客户端能够从异常中恢复,请使其成为已检查的异常。
  • 如果客户端无法采取任何措施从异常中恢复,请将其设置为未经检查的异常

自定义未经检查的异常,请扩展java.lang.RuntimeException。对于未检查的异常,尝试捕获异常是可选的。

public class xxx extends RuntimeException{
    public xxx(String message) {
        super(message);
    } 
}

创建自定义的检查异常,请扩展java.lang.Exception。对于检查的异常,您需要尝试捕获异常

public class xxx extends Exception{
	public xxx(String message) {
        super(message);
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5119236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存