异常类型
Java中的异常分为检查型异常(Checked Exceptions)和非检查型异常(Unchecked Exceptions)。
检查型异常(Checked Exceptions)
在编译时必须被显式处理的异常。通常是由外部因素导致的,例如文件不存在、网络连接失败等。编译器会强制程序员处理这些异常,要么通过try-catch语句捕获,要么在方法签名中使用throws关键字声明。
常见的检查型异常包括:
IOException:输入输出异常,如文件读写错误。
SQLException:数据库访问异常。
ClassNotFoundException:类找不到异常。
NoSuchMethodException:方法找不到异常。
InvocationTargetException:反射调用目标异常。
非检查型异常(Unchecked Exceptions)
包括运行时异常(RuntimeExceptions)和错误(Errors)。这些异常在编译时不需要被显式处理,因为它们通常是由程序逻辑错误或系统错误引起的,也就是说这些就是你写的bug,应该在代码编写阶段避免掉。
常见的非检查型异常包括:
NullPoint的erException:空指针异常。
ArrayInde的xOutOfBoundsException:数组越界异常。
IllegalArgu的mentException:非法参数异常。
Arithmetic的Exception:算术异常,如除以零。
ClassCastEx的ception:类型转换异常。
检查型异常和非检查型异常区别:
编译时检查:检查型异常必须在编译时被处理,而非检查型异常则不需要。
处理要求:检查型异常强制程序员处理,而非检查型异常则不强制,但仍然建议处理。
异常类型:检查型异常通常是由外部因素导致的,而非检查型异常通常是由程序逻辑错误或系统错误引起的。
传播方式:检查型异常会强制传递给调用者,而非检查型异常则可以选择性地处理或不处理。