1.认识异常
在 Java 中,异常是指在程序运行时发生的错误或不正常情况,会打断程序的正常流程。Java 提供了丰富的异常处理机制,以帮助开发者管理这些异常。以下是关于 Java 异常的基本概念和处理方式
2.异常处理机制
1.1异常分类
-
检查异常(Checked Exceptions):
- 编译时会被检查,开发者必须处理这些异常,或者在方法声明中抛出。
- 例如:
IOException
,SQLException
。
-
运行时异常(Unchecked Exceptions):
- 不需要强制处理,通常是程序中的逻辑错误。
- 例如:
NullPointerException
,ArrayIndexOutOfBoundsException
。
-
错误(Errors):
- 这些是严重的、通常不可恢复的问题,通常由虚拟机抛出。
- 例如:
OutOfMemoryError
。
1.2异常处理结构
JAVA 针对异常提供了 try catch finally throws throw 五个核心关键字,其中三个关键字就可以组成常用的异常处理结构
语法:
- try 块:包含可能抛出异常的代码
- catch 块:捕获并处理异常
- finally 块:无论是否发生异常,都会执行的代码,常用于清理资源
1.3 抛出异常
可以使用 throw
关键字主动抛出异常
语法:
1.4自定义异常
可以创建自定义异常类,继承 Exception
或 RuntimeException
1.5示例代码
语法:
3.异常种类
1. 检查型异常 (Checked Exceptions)
这些异常是编译时异常,编译器会强制要求进行处理。通常由外部因素引起,如文件操作、网络连接等。常见的检查型异常包括:
IOException
:输入/输出操作失败或中断。SQLException
:与数据库访问错误相关。ClassNotFoundException
:未找到指定的类。
2. 运行时异常 (Unchecked Exceptions)
这些异常是在运行时发生的,编译器不会强制要求处理。通常由程序逻辑错误导致。常见的运行时异常包括:
NullPointerException
:试图访问 null 对象的属性或方法。ArrayIndexOutOfBoundsException
:数组索引越界。ArithmeticException
:算术运算错误,如除以零。ClassCastException
:类型转换失败。
3. 错误 (Errors)
虽然不是异常,但 Java 中的错误也值得一提。错误通常表示更严重的问题,通常无法通过程序捕获和处理。常见的错误包括:
OutOfMemoryError
:JVM内存不足。StackOverflowError
:栈溢出,通常由递归调用过深引起
4.日志框架 Log4j 2
Log4j 是 Apache 提供的一个流行的日志记录库,功能强大且灵活。其核心组件包括 Logger、Appender 和 Layout