如何查看java异常
查看Java异常的方法
使用try-catch块捕获异常
在代码中通过try-catch块捕获异常,catch块会捕获try块中抛出的异常,并允许处理或打印异常信息。
示例代码:
try {
// 可能抛出异常的代码
int result = 10 / 0;
} catch (ArithmeticException e) {
e.printStackTrace(); // 打印异常堆栈信息
System.out.println("异常信息: " + e.getMessage());
}
打印异常堆栈信息
调用printStackTrace()方法可以将异常的堆栈跟踪信息输出到标准错误流,帮助定位问题。
示例:
catch (Exception e) {
e.printStackTrace(); // 输出完整的异常调用链
}
记录日志
使用日志框架(如Log4j、SLF4J)记录异常信息,便于后续分析和排查。
示例:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Logger logger = LoggerFactory.getLogger(MyClass.class);
try {
// 业务代码
} catch (Exception e) {
logger.error("发生异常: ", e); // 记录错误日志
}
查看控制台输出
如果未捕获异常,JVM会直接将异常信息输出到控制台,包括异常类型、描述和堆栈跟踪。
示例输出:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at com.example.Test.main(Test.java:10)
使用IDE调试工具
在IDE(如IntelliJ IDEA、Eclipse)中设置断点并启用调试模式,可以逐步执行代码并在异常抛出时暂停,查看变量和调用堆栈。
分析异常类型和原因
通过异常类名(如NullPointerException)和getMessage()方法获取具体原因,针对性修复问题。
示例:
catch (NullPointerException e) {
System.out.println("空指针异常: " + e.getMessage());
}
自定义异常处理
继承Exception类创建自定义异常,提供更清晰的错误信息。
示例:

class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}






