`

怎么把异常的StackTrace信息格式化为String

阅读更多

    在开发中,常常需要把异常信息的StackTrace转化成String写入日志文件或保存到数据库中。 最初,我使用getStackTrace().toString() 这样的代码,后来发现这样无法获取全部信息,怎么办呢,可以用如下方法实现:

 

	public static String FormatStackTrace(Throwable throwable) {
		if(throwable==null) return "";
		String rtn = throwable.getStackTrace().toString();
		try {
			Writer writer = new StringWriter();
			PrintWriter printWriter = new PrintWriter(writer);
			throwable.printStackTrace(printWriter);		
			printWriter.flush();
			writer.flush();
			rtn = writer.toString();
			printWriter.close();			
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception ex) {
		}
		return rtn;
	}
分享到:
评论

相关推荐

    Java将Exception信息转为String字符串的方法

    通常情况下,我们使用 `e.printStackTrace()` 来输出异常信息,但是这只会将异常信息输出到控制台中,有时候我们需要将异常信息转换为可处理的 String 类型以便于后续处理。 解决方法一:使用 Log4j 当我们使用 ...

    Android 带小数点的字符串格式化为固定位数

    在Android开发中,数据的格式化是一个非常重要的环节,特别是在显示数字时,为了保持数据的一致性和可读性,我们经常需要将带有小数点的字符串格式化为固定位数。这个工具类就是为了满足这样的需求而设计的。下面将...

    C#String.Format数字格式化输出 .txt

    在C#编程语言中,`String.Format`方法是一种强大的字符串格式化工具,它允许开发者以预定义的格式输出各种类型的数据,特别是在处理数字时。通过使用特定的格式化字符串,可以控制数字的显示方式,包括小数点后的...

    std::string format格式化函数源代码及两种格式化方法

    本项目提供的`std::string format`函数是作者自定义的一个实现,它提供了一种方便的方式来格式化`std::string`对象,使得代码更清晰易读。源代码主要分布在`str.hpp`和`string_format.cpp`这两个文件中。 在`str....

    Java 异常的栈轨迹(Stack Trace)详解及实例代码

    Java 异常的栈轨迹(Stack Trace)是指在 Java 程序中抛出异常时,记录下异常的发生位置和调用过程的信息。这种信息对于调试和排查问题非常重要。 1.printStackTrace() 方法 printStackTrace() 方法是 Throwable ...

    clj-stacktrace:更具可读性的 Clojure 堆栈跟踪

    例如,要在 REPL 中打印一个不错的堆栈跟踪: => (use 'clj-stacktrace.repl)=> ("foo")java.lang.ClassCastException: java.lang.String cannot be cast to clojure.lang.IFn (NO_SOURCE_FILE:0) Compiler.java:...

    使用自定义属性和Stacktrace的异常处理

    在异常处理中,我们可以通过访问`StackTrace`属性来获取这些信息: ```csharp try { // 产生异常的代码 } catch (Exception ex) { Console.WriteLine("堆栈跟踪: " + ex.StackTrace); } ``` 然而,堆栈跟踪的...

    java字符串格式化String.format()

    ### Java字符串格式化String.format()详解 #### 一、引言 `String.format()` 方法是JDK 1.5引入的新特性,它提供了一种灵活且强大的方式来格式化字符串。这种方法类似于C语言中的`printf`函数,允许开发者通过指定...

    C# 字符串格式化

    在 C# 中,使用 string.Format 方法对货币进行格式化,例如,string.Format("{0:C}", 0.2) 将结果格式化为¥0.20,在英文系统中将格式化为 $0.20。默认情况下,小数点后面保留两位小数,如果需要保留一位或者更多,...

    WPF中StringFormat的用法

    上述示例中的 `StringFormat="{}{0:N}"` 表示将 `Number` 属性的值格式化为标准数值格式。 #### 4. 百分比格式化 - **C# 示例**: ```csharp string.Format("{0:P}", 0.12341); // 输出为 12.34% string....

    Document对象格式化后输出String

    根据给定的信息,本文将详细解释如何在Java环境中利用dom4j库将Document对象格式化为易读的String形式,并探讨其中涉及的关键概念和技术细节。 ### dom4j库简介 dom4j(Document Object Model for XML)是一款Java...

    C#探秘系列(三)——StackTrace,Trim

    在`try-catch`块中,当异常发生时,`Exception`对象的`StackTrace`属性通常会被用来查看导致异常的具体调用路径。例如: ```csharp try { // 某些可能抛出异常的代码 } catch (Exception e) { Console.WriteLine...

    一个简单的获取异常信息的例子,包括行号

    public CustomAssertionException(String message, StackTraceElement[] stackTrace) { super(message); this.stackTrace = stackTrace; } private StackTraceElement[] stackTrace; // 其他可能的方法,如...

    C#String.Format数字格式化

    `{0:C}`和`{0:C3}`分别表示将第一个参数格式化为货币格式和保留三位小数的货币格式。 #### 十进制整数格式 (d) ```csharp // Label1.Text = string.Format("{0:d}", a); // 输出:12345678 // Label2.Text = b....

    java完美按格式化字符串String转sql.date

    ### Java完美按格式化字符串String转sql.Date 在Java编程中,经常需要处理日期与时间相关的数据。特别是在数据库操作时,经常会遇到需要将字符串类型的日期转换为`java.sql.Date`类型的情况。本文将详细介绍如何...

    String、Array与Date、String的转化

    本工具类用于String、Array和String、Date之间的转化

    StringtoList和StringtoMap和StringtoObject和StringtoArray

    在Java编程中,经常需要处理JSON格式的数据,它是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON格式通常用于前后端数据交互,因为其结构清晰,支持复杂的数据结构,如对象(Object)...

    JavaBean与JsonString的相互转换

    将JsonString反序列化为JavaBean对象同样可以通过JSON库实现。以Gson为例,首先引入Gson库,然后使用`Gson`类的`fromJson()`方法: ```java import com.google.gson.Gson; // 假设我们有一个JsonString ...

    JAVA String.format方法使用介绍

    argues),可以将各类数据格式化为字符串并输出。其中format参数指定了输出的格式,是最复杂也是最难掌握的一点,而argues则是一系列等 待被格式化的对象。该函数对c语言中printf函数的用法进行了一定的模仿,因此有...

Global site tag (gtag.js) - Google Analytics