Java 中异常和错误的区别
javaobject oriented programmingprogramming
异常和错误都是 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)