一、前言
在java中,異常機制是非常有用的構(gòu)成部分,異常信息對于查找錯誤來說是必不可少至關(guān)重要的信息,因此我們希望在發(fā)生錯誤的時候先看到捕捉到底異常信息。然而,通常的異常信息的輸出使用e.printstacktrace(),這樣異常信息會被輸出到控制臺中。但有的時候我們需要異常中的部分信息,需要他是一個可以處理的string類型。
二、解決方法
1.使用log4j
當(dāng)我們使用log4j日志來記錄運行信息時,可以直接使用下述方式:
1
|
logger.error( "異常信息:" ,e); |
這樣log日志中就會直接打印出異常堆棧內(nèi)的全部信息,當(dāng)然如果你使用的是
1
|
logger.error( "異常信息:" +e.tostring()); |
這種形式,它只會輸出異常的名稱,而不會有詳細(xì)信息。
2.使用stringwriter
這個方法可以將異常堆棧中的信息轉(zhuǎn)換為string字符串
1
2
3
4
5
6
7
8
9
10
11
12
|
public string geterrorinfofromexception(exception e) { try { stringwriter sw = new stringwriter(); printwriter pw = new printwriter(sw); e.printstacktrace(pw); return "\r\n" + sw.tostring() + "\r\n" ; sw.close(); pw.close(); } catch (exception e2) { return "errorinfofromexception" ; } } |
這個方法可以將exception對象堆棧中的信息轉(zhuǎn)換為string字符串返回,以供后續(xù)處理。
以上這篇java將exception信息轉(zhuǎn)為string字符串的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/Roy_70/article/details/72723500