理清异常,错误,运行时异常
Java程序能处理的叫Exception,不能处理的叫Error。
一般Exception:
运行时异常(RuntimeException):这些异常可以在运行时被抛出,并且通常反映了程序逻辑错误,如空指针访问、数组越界。运行时异常和其子类不需要在方法签名中声明,也不需要强制捕获。例如:
NullPointerException:尝试使用 null 对象引用的成员。 ArrayIndexOutOfBoundsException:尝试访问数组的非法索引等
- 非运行时异常:编译器要求这些异常必须被捕获或在方法上声明抛出。
错误(Error):Error 通常表示严重的问题,大多数情况下是与系统环境相关的问题,而不是程序本身可以处理的问题。因此,通常不建议在应用程序中捕获或声明抛出 Error 类的对象。
例如:
- OutOfMemoryError:表示 JVM 没有足够的内存来为更多的对象分配空间。
- StackOverflowError:当应用程序递归太深,没有足够的调用栈空间时发生。