当前位置: 首页 > 编程笔记 >

Java中异常和错误之间的区别

尉迟俊能
2023-03-14
本文向大家介绍Java中异常和错误之间的区别,包括了Java中异常和错误之间的区别的使用技巧和注意事项,需要的朋友参考一下

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

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

序号 错误 例外
1
类型 
分类为未经检查的类型 
分类为已检查和未检查 
2
包 
它属于java.lang.error 
它属于java.lang.Exception 
3
可恢复/不可恢复
这是无法恢复的
它是可恢复的

  它不能在编译时发生 
它可以在运行时编译时同时发生 
5

OutOfMemoryError,IOError 
NullPointerException,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)
 类似资料:
  • 本文向大家介绍Java中错误和异常之间的区别,包括了Java中错误和异常之间的区别的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将了解错误和异常之间的区别。 错误 它被分类为未检查类型。 它属于类'java.lang.error'。 无法从中恢复。 它不能在编译时发生。 错误的例子包括- 'OutOfMemoryError' ``IOError'' 例外 它可以分为未检查的异常和已检查的

  • 问题内容: 我试图学习有关基本Java和不同类型的Throwables的更多信息,有人可以让我知道Exception和Errors之间的区别吗? 问题答案: 错误不应该被发现或处理(在极少数情况下除外)。异常是异常处理的基础。该Javadoc中解释说得好: 错误是Throwable的子类,它指示合理的应用程序不应尝试捕获的严重问题。大多数此类错误是异常情况。 查看一些的子类Error,并获取一些J

  • 问题内容: 我们知道如果发生任何错误或任何未经检查的异常,那么我们的程序将暂停,那么两者之间有什么区别? 问题答案: 从错误 Javadoc: 错误是Throwable的子类,它指示合理的应用程序不应尝试捕获的严重问题。大多数此类错误是异常情况。ThreadDeath错误虽然是“正常”情况,但它也是Error的子类,因为大多数应用程序都不应尝试捕获它。 与异常 Javadoc的比较 Excepti

  • 问题内容: 如何区分Java中的错误和异常? 问题答案: 错误“表示合理的应用程序不应尝试捕获的严重问题”。 而 异常“指示合理的应用程序可能想要捕获的条件”。 错误及其子类都是例外。所有其他异常类都是异常。 检查 异常通常是程序可以从中恢复的异常,最好以编程方式从此类异常中恢复。示例包括,等。希望程序员使用try- catch块检查这些异常,或者将其扔回调用方。 另一方面,我们有 未经检查的 异

  • 问题内容: 在Java中,如果特定的代码行导致程序崩溃,则将捕获异常并继续执行程序。 但是,在C ++中,如果我有一段导致程序崩溃的代码,例如: 然后程序仍然崩溃,并且没有捕获到异常。 那么C ++中异常处理的意义是什么?我误会了吗? 问题答案: 崩溃的行正在取消引用无效的指针。在C ++中,这不会引发异常。相反,它是未定义的行为。 C ++中不存在空指针异常,这与Java会抛出空指针异常不同。相

  • 本文向大家介绍Java中检查和未检查异常之间的区别,包括了Java中检查和未检查异常之间的区别的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将了解Java中已检查和未检查的异常之间的区别。 检查异常 它们在编译时发生。 编译器检查已检查的异常。 这些异常可以在编译时进行处理。 它是异常类的子类。 JVM要求捕获并处理异常。 已检查异常的示例-“找不到文件异常” 未检查的异常 这些异常在运