异常和错误都是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)