java异常栈
发布时间: 2024-01-18 13:18:32
‘壹’ java 异常中什么是显示堆栈轨迹
//方法出异常时会指明在那一行,显示异常的堆栈轨迹
try {
String s[]={"1"};
s[1]="abc";
} catch (Exception e) {
e.printStackTrace();
}
//
e.printStackTrace();
就是打印出异常堆栈信息,你也可以不调用此条语句。如:
try {
String s[]={"1"};
s[1]="abc";
} catch (Exception e) {
System.out.print("出错了"); }
‘贰’ slf4j怎么打印java错误堆栈信息throwable对象
SLF4J 1.6.0以前的版本,如果打印异常堆栈信息,必雹和须用
log.error(Stringmsg,Throwablet)
log.info等对应方法.
如果msg含有变量,一般用String.format方法格式化msg.
如果用
error(Stringformat,Object...arguments)
等其它方法,异常堆栈信息会丢失.
幸好,SLF4J 1.6.0以后的版本对这个不友此肆团好的异常信息log改进了.
error(Stringformat,Object…arguments)这个方法也会打印异常堆栈信息,只不过规定throwable对象必须为
最后一个参数.如果不遵守这森橘个规定,异常堆栈信息不会log出来.
‘叁’ 为什么java要把异常打印到堆栈
不是打印到堆栈,而是打印栈信息,因为程序执行的时候,最终还是要靠01二进制代码执行,运行在堆栈里面,所以出错或抛出异常时能被捕获到
热点内容