异常和错误都是Throwable类的子类。该错误表示主要由于缺少系统资源而导致的问题,我们的应用程序不应捕获这些类型的问题。错误的一些示例是系统崩溃错误和内存不足错误。错误大多发生在运行时,因为它们属于未经检查的类型。
异常是在运行时和编译时可能发生的问题。它主要发生在开发人员编写的代码中。异常分为两类,例如检查的异常和未检查的异常。
序号 | 键 | 错误 | 例外 |
---|---|---|---|
1 |
类型 |
分类为未经检查的类型 |
分类为已检查和未检查 |
2 |
包 |
它属于java.lang.error |
它属于java.lang.Exception |
3 |
可恢复/不可恢复 |
这是无法恢复的 |
它是可恢复的 |
4 |
它不能在编译时发生 |
它可以在运行时编译时同时发生 |
|
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要求捕获并处理异常。 已检查异常的示例-“找不到文件异常” 未检查的异常 这些异常在运