error和Exception的区别

Java中的异常分为Error和Exception,Error是程序无法处理的错误,如系统崩溃、内存不足,而Exception是可以捕获并处理的。Exception又分为运行时异常RuntimeException(如NullPointerException)和非运行时异常(如IOException)。理解这两者的区别对于编写健壮的Java代码至关重要。
摘要由CSDN通过智能技术生成

目录

Error:

Exception:

checked Exception:

unchecked Exception:


Java中,所有的异常都有一个共同的祖先java.lang包中的Throwable类。Throwable类有两个重要的子类Exception(异常)和Error(错误)。

举个简单的例子:

  Error和Exception就像是水杯和水杯里的水的区别

  “水杯”,就是代码正常运行的外部环境,如果是水杯的原因导致),这些都是外部环境有关。这些就是java中的error。

  “水杯里的水”,就是正常运行的代码,水有问题,影响水质的因素就是Exception。

即程序的外部(error)和内部(exception)。

Error:

Error属于程序无法处理的错误,是JVM需要负担的责任,无法通过try-catch来进行捕获。例如,系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,一旦这类错误发生,通常应用程序会被终止,仅靠应用程序本身无法恢复。 (即程序员无法通过程序赖恢复的)

Exception

程序本身可以处理的异常,可以通过catch来进行捕获,通常遇到这种错误,应对其进行处理,使应用程序可以继续正常运行。Exception又可以分为运行时异常(RuntimeException,又叫非受检查异常unchecked Exception)和非运行时异常(又叫受检查异常checked Exception)。(即程序员可以通过程序来恢复的)

checked Exception:

就是在写代码的时候,写了try catch的Exception,这种Exception一般不会影响整个程序,可以由程序员手来修复异常。

unchecked Exception:

又称RunTimeException,这一类就是在代码处理了checked Exception之后,运行时候仍然会遇到的Exception。

常见的RuntimeException异常

  illegalArgumentException:此异常表明向方法传递了一个不合法或不正确的参数。

  NullpointerException:空指针异常(遇见最多的)

  IndexOutOfBoundsException:索引超出边界异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值