我正在尝试创建一个错误处理程序,它将收到一条错误消息并将其打印到日志记录文件中。如果我使用这样的试试/捕获,有没有办法可以得到按摩?
try{
//code;
}catch(Exception e){
Main.error=e.?;
}
我已经尝试过e.getMessage()但它只返回null。提前致谢
答案 0 :(得分:5)
来自Throwable类的docs(其中getMessage()来自):
返回: 此Throwable实例的详细消息字符串(可能为null )。
因此,null消息是来自getMessage()的完全合法的响应,并且只要在没有参数的情况下实例化Exception类就会创建。
如果通过消息表示堆栈跟踪,那么Throwable定义了一个getStackTrace方法,它允许您遍历将在{{1}中打印的各种元素。您可以使用printStackTrace
答案 1 :(得分:0)
您是否尝试使用e.toString()
?
答案 2 :(得分:0)
你可以这样做:
try{
//code;
}catch(Exception e){
PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
writer.println(e.toString());
writer.close();
}