`
guai821
  • 浏览: 17957 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

getStackTrace人家才初始化的

 
阅读更多
public StackTraceElement[] getStackTrace() {
        return (StackTraceElement[]) getOurStackTrace().clone();
    }

    private synchronized StackTraceElement[] getOurStackTrace() {
        // Initialize stack trace if this is the first call to this method
        if (stackTrace == null) {
            int depth = getStackTraceDepth();
            stackTrace = new StackTraceElement[depth];
            for (int i=0; i < depth; i++)
                stackTrace[i] = getStackTraceElement(i);
        }
        return stackTrace;
    }

public static  String getErrorInfoAsString(final Throwable e){
		OutputStream ostr = new ByteArrayOutputStream();
		e.printStackTrace(new PrintStream(ostr));
		return ostr.toString();
	}

public static String getStackTraceCleanVersion(final Throwable e) {
		String str = "";
		if (e == null) 
			return str;
		StackTraceElement[] t = e.getStackTrace();
		
		for (int i = 0; t != null && i < t.length; i++) {
			
			StackTraceElement tem = t[i];
			str += tem.toString() + "\r\n";
		}
		return str;
	}
分享到:
评论

相关推荐

    详解Java 打印堆栈的几种方法

    StackTraceElement[] stackElements = ex.getStackTrace(); if (stackElements != null) { for (int i = 0; i ; i++) { System.out.print(stackElements[i].getClassName()+"/t"); System.out.print...

    Java中获取当前函数名、类名、当前类的文件名.doc

    - 解析: 在JDK 5及更高版本中,`Thread`类提供了`getStackTrace()`方法来获取当前线程的堆栈跟踪信息。通过索引访问可以获取到当前类的名称。 - 示例: ```java public class MyClass { public void myMethod() ...

    jquery validate使用攻略 第四步

    在jQuery库中,jQuery Validate是一个非常实用的插件,它为表单验证提供了强大的功能,帮助开发者轻松实现数据校验。本篇文章将深入探讨jQuery ...理解并熟练运用这些选项,将使你的表单验证功能更加个性化和专业。

    下面是20个非常有用的Java程序片段,希望能对你有用。

    - `Class.forName(String className)` 用于加载并初始化指定的类,这里是Oracle的JDBC驱动类。 - `DriverManager.getConnection(String url, String user, String password)` 创建到数据库的连接。URL包含数据库的...

    android demo,test_function_linenumber_print,android函数名和行号的打印

    要在Android代码中打印函数名和行号,通常可以使用`Log`类的`d()`方法,并结合`new Exception().getStackTrace()[2]`来获取当前调用栈的第二层信息(因为第一层通常是`getStackTrace()`本身)。例如: ```java try ...

    jsp九大内置对象是什么

    - `getInitParameter(String name)`:获取初始化参数值。 - `getRealPath(String path)`:获取服务器上的真实路径。 8. **exception**:表示当前页面产生的异常信息,它是`Throwable`的子类。 - `getMessage()`...

    20个开发人员非常有用的Java功能代码

    这里,`init()`方法初始化数据库连接,`fetch()`方法创建`PreparedStatement`执行SQL查询,并处理返回的`ResultSet`。 这些是Java开发中常见的功能代码示例,它们涵盖了数据类型转换、文件操作、调试信息获取、...

    中小公司人事管理系统

    e.getStackTrace(); log.error("session开启失败"); throw e; } return s; } public static void closesession()throws Exception{ s=sessionThread.get(); try{ if(s!=null){ s.close...

    android demo,指纹识别和行号日志的打印

    2. 初始化`FingerprintManager`对象,通过`getSystemService()`方法和`FingerprintManager`类的静态成员`FINGERPRINT_SERVICE`。 3. 创建一个`FingerprintManager.CryptoObject`,它包含加密操作,如`Cipher`,用于...

    20个开发人员有用的Java功能代码

    - `init`方法用于初始化数据库连接,包括加载属性文件、获取数据库URL、用户名和密码,以及加载驱动程序和创建连接。 - `fetch`方法执行简单的SQL查询(查询当前系统日期),并遍历结果集以处理查询结果。 - 这段...

    Java 获取当前类名和方法名的实现方法

    获取当前方法名的实现方法也可以通过 Throwable 的方法 getStackTrace() 或者 Thread 的方法 getStackTrace() 来实现。 方法 1:通过 Throwable 的方法 getStackTrace() ```java public static void ...

    java打印当前方法名示例分享

    因此,`getStackTrace()[1]`通常会返回当前方法的堆栈帧,因为索引0通常对应于调用`getStackTrace()`的代码所在的堆栈帧。然后,`getMethodName()`和`getClassName()`分别用于获取方法名和类名。例如: ```java ...

    stacktrace.js:在所有Web浏览器中生成,解析和增强JavaScript堆栈跟踪

    stacktrace.js 在所有浏览器中生成,解析和增强JavaScript堆栈跟踪 使用导致错误(或您指定的任何条件)的函数调用来调试和配置JavaScript。 stacktrace.js使用浏览器的Error.stack机制生成堆栈跟踪,对其进行...

    Android异常捕获(发邮件+写文件)

    在`Application`类中初始化这个全局异常处理器: ```java public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); new CustomExceptionHandler(this); } } ...

    Android显示Log信息(带行号)

    Log.d("TAG", "这是带有行号的Log: " + new Exception().getStackTrace()[2].getLineNumber()); ``` 这样,每次输出Log时都会附加当前行的行号。 2. 自定义Logger工具类: 为了方便使用,可以创建一个名为`...

    jsp常用方法整理,包括servlet等

    - `getInitParameter`:获取初始化参数的值。 - `getServletContext`:获取Servlet上下文。 3. **`exception` 对象**:捕获并处理异常。 - `getMessage`:获取异常信息。 - `getStackTrace`:获取异常堆栈跟踪...

    Android下各语言加callStack示例

    在Java中,我们可以利用`Thread.currentThread().getStackTrace()`方法来获取当前线程的调用堆栈信息。这个方法返回一个`StackTraceElement`数组,包含了每个栈帧的信息,如类名、方法名和行号。为了打印这些信息,...

    日志打印工具-资源分必选-到博客中复制代码

    StackTraceElement[] sts = Thread.currentThread().getStackTrace(); if (sts == null) { return null; } for (StackTraceElement st : sts) { if (st.isNativeMethod()) { continue; } if (st....

    调用堆栈的类

    类的实例化可以触发堆栈回溯,然后将结果存储在一个数据结构中,如链表或向量。类还可以提供迭代器或API来遍历堆栈帧,获取每个帧的详细信息。 4. **异常安全**:考虑到在某些情况下,获取调用堆栈可能发生在异常...

    Android捕获异常并实现文件的上传

    然后,初始化Retrofit实例并创建API服务对象: ```java Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://your-api-url.com/") // 替换为你的API基础URL .addConverterFactory...

Global site tag (gtag.js) - Google Analytics