Java中异常和错误的区别


异常和错误都是Throwable类的子类。错误表示主要由于系统资源不足而发生的问题,我们的应用程序不应该捕获这些类型的问题。一些错误的例子包括系统崩溃错误和内存不足错误。错误大多发生在运行时,因此它们属于未检查类型。

异常是在运行时和编译时都可能发生的问题。它主要发生在开发人员编写的代码中。异常分为两类:已检查异常和未检查异常。

序号关键错误异常
1类型归类为未检查类型归类为已检查和未检查类型
2属于java.lang.error属于java.lang.Exception
3可恢复/不可恢复不可恢复可恢复
4 不会在编译时发生会在运行时和编译时发生
5示例OutOfMemoryError,IOErrorNullPointerException,SqlException

错误示例

public class ErrorExample {
   public static void main(String[] args){
      recursiveMethod(10)
   }
   public static void recursiveMethod(int i){
      while(i!=0){
         i=i+1;
         recursiveMethod(i);
      }
   }
}

输出

Exception in thread "main" java.lang.StackOverflowError
   at ErrorExample.ErrorExample(Main.java:42)

异常示例

public class ExceptionExample {
   public static void main(String[] args){
      int x = 100;
      int y = 0;
      int z = x / y;
   }
}

输出

java.lang.ArithmeticException: / by zero
   at ExceptionExample.main(ExceptionExample.java:7)

更新于:2023年9月14日

23K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告