异常堆栈信息输出到字符串
2013-01-21 11:26
302 查看
Exception类有一个printStackTrace()方法,它能够从发生异常的方法中输出堆栈信息,默认输出位置是System.err。但是,有时候我们要把堆栈信息输出到System.err之外的其他地方,例如在出现异常时把堆栈信息输出到email,或者用一个对话框显示出来。
printStackTrace()方法有几种不同的类型:
· printStackTrace(),输出到标准错误流。
· printStackTrace(PrintStream ps),输出到名为ps的PrintStream。
· printStackTrace(PrintWriter pw),输出到名为pw的PrintWriter。
我们可以用最后一种printStackTrace()方法把堆栈信息保存到String对象。只要在String对象中捕获了堆栈信息,我们就可以方便地在应用的任何地方使用这些信息了。下面的代码片断示范了具体的实现步骤:
printStackTrace()方法有几种不同的类型:
· printStackTrace(),输出到标准错误流。
· printStackTrace(PrintStream ps),输出到名为ps的PrintStream。
· printStackTrace(PrintWriter pw),输出到名为pw的PrintWriter。
我们可以用最后一种printStackTrace()方法把堆栈信息保存到String对象。只要在String对象中捕获了堆栈信息,我们就可以方便地在应用的任何地方使用这些信息了。下面的代码片断示范了具体的实现步骤:
private String getStackTraceAsString() { // StringWriter将包含堆栈信息 StringWriter stringWriter = new StringWriter(); //必须将StringWriter封装成PrintWriter对象, //以满足printStackTrace的要求 PrintWriter printWriter = new PrintWriter(stringWriter); //获取堆栈信息 e.printStackTrace(printWriter); //转换成String,并返回该String StringBuffer error = stringWriter.getBuffer(); return error.toString(); } |
相关文章推荐
- Java:将异常的完整堆栈追踪信息保存到字符串中(详解)
- logback异常输出详细信息(调用堆栈)
- 将异常信息 转换成 字符串 输出
- 在开发环境的DDMS中输出异常的堆栈信息
- 如何输出异常栈的信息到字符串上面
- 如何在程序异常退出前输出当前进程的堆栈信息 Backtraces
- Python学习:使用boost c++嵌入python,获取异常信息输出到字符串
- 获取异常详细信息,组成字符串
- Java获取异常的堆栈信息到String的方式
- 把异常的堆栈跟踪输出保存到日志文件的方法
- Java基础——IO(拷贝文件+字节流-字符流缓冲区(装饰设计)-转换流-IO操作规律-异常日志-系统信息列表输出)
- backtrace-----打印进程异常退出时的堆栈信息
- java--IO流-LineNumberReader,读取键盘录入,字符字节流转换,改变标准输入输出设备,异常的日志信息,系统信息
- StringWriter/PrintWriter在Java输出异常信息中的作用
- java:获取异常的堆栈信息
- java 遇到未知异常使程序崩溃,输出jvm的dump崩溃信息到指定文件,然后杀死此进程
- 如何记录异常的 堆栈信息
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- C++抛异常时如何获取异常时的堆栈调用信息