java的异常(Exception)信息的详细记录

java的异常(Exception)信息的详细记录
获取Exception的详细信息
下面的三个方法都是获取异常的详细信息,或许的异常详细信息以字符串的形式返回,保持栈堆的风格

方法一:

public static String getExceptionAllinformation(Exception ex){
        String sOut = "";
        StackTraceElement[] trace = ex.getStackTrace();
        for (StackTraceElement s : trace) {
            sOut += "\tat " + s + "\r\n";
        }
        return sOut;
 }

方法二:

public static String getExceptionAllinformation_01(Exception ex) {
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         PrintStream pout = new PrintStream(out);
         ex.printStackTrace(pout);
         String ret = new String(out.toByteArray());
         pout.close();
         try {
              out.close();
         } catch (Exception e) {
         }
         return ret;
 }

方法三:

 private static String toString_02(Throwable e){  
            StringWriter sw = new StringWriter();  
            PrintWriter pw = new PrintWriter(sw, true);  
            e.printStackTrace(pw);  
            pw.flush();   
            sw.flush();  
            return sw.toString();  
    }
时间: 2024-10-12 14:07:26

java的异常(Exception)信息的详细记录的相关文章

Atitit java的异常exception 结构Throwable类

1.1. Throwable类 2.StackTrace栈轨迹1 1.2. 3.cause因由1 1.3. 4.SuppressedException被屏蔽的异常2 1.4. try-with-resources语句2 1.5. 八.异常说明的继承.2 1.1. Throwable类 2.StackTrace栈轨迹 栈轨迹记录了程序从开始到异常抛出点所调用的方法.通过StackTraceElement[] getStackTrace()可以获得一个StackTraceElement的数组,每个S

JAVA学习--异常Exception

一.异常的体系结构 * java.lang.Throwable  *         |-----Error:错误,程序中不进行处理  *         |-----Exception:异常,要求在编写程序时,就要考虑到对这些异常的处理  *                 |-----编译时异常:在编译期间会出现的异常(执行javac.exe命令时,出现异常) *                 |-----运行时异常:在运行期间出现的异常(执行java.exe命令时,出现异常)  *  *

JAVA学习--异常Exception的处理

* 二.如何处理Exception的异常  * Java提供的是异常处理的抓抛模型  * 1."抛":当我们执行代码时,一旦出现异常,就会在异常的代码处生成一个对应的异常类型的对象,并  *        将此对象抛出.(自动抛出   / 手动抛出)  *        >一旦抛出此异常类的对象,那么程序就终止执行  *        >此异常类的对象抛给方法的调用者.  * 2."抓":抓住上一步抛出来的异常类的对象.如何抓?即为异常处理的方式  * 

java开发异常Exception集锦

背景:整理开发过程中的异常问题 java.lang.Exception: No tests found matching 一般出现在新导入的工程中.在sts中通过open project的方式导入工程后,运行test用例,报No tests found matching错误. 根因是build path问题.解决方案: 1 查看jdk版本,更新到目前的版本 2 删除项目中的junit包,右键 Build Path, addLibraay, 添加Junit4,在build path中通过add l

Java获取异常堆栈信息

public String getExceptionStack(Exception e){ StackTraceElement[] stackTraceElements = e.getStackTrace(); String prefix = "Exception in thread "+"\""+Thread.currentThread().getName()+"\" "; String result = prefix+e.

《java中异常和错误》

异常和错误的区别. 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异常类代表了不同的异常.但是在Java中所有的异常都有一个基类,叫做Exception. 错误:它指的是一个合理的应用程序不能截获的严重的问题.大多数都是反常的情况.错误是VM的一个故障(虽然它可以是任何系统级的服务

浅谈java异常[Exception]

本文转自:focusJ 一. 异常的定义 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常.绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败.之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意. 记得当初学习java的时候,异常总是搞不太清楚,不知道这个异常是什么意思,为什么会有这个机制?但是随着知识的积累逐渐也

Java 里的异常(Exception)详解

作为一位初学者, 本屌也没有能力对异常谈得很深入.   只不过Java里关于Exception的东西实在是很多. 所以这篇文章很长就是了.. 一, 什么是java里的异常 由于java是c\c++ 发展而来的,  首先我们先看看c语言里的错误. 1.1 c语言里的错误 我们实现1个程序的过程包括,  代码编写, 编译代码成为程序,  执行程序. . 其中大部分常见的语法错误都会被编译代码这样部过滤掉.   但是即使通过了编译. 执行程序这一步可能还是会有错误. 原因很多, 例如常见的除数为0,

JAVA异常处理原则和log4j输出详细异常分析

1.多用try,catch;不要一个try,catch包含所有内容 好处:不同模块抓取不同异常,某一模块异常挂了,不影响其他模块的程序的进行 2.多写几个catche:尽量不要使用Exception这个大异常去包容所有异常 不要为了追求代码的简练,try,catch只写一个,使用Exception去抓取所有可能的异常,这只是理想状态,程序出错不是直接打印出来异常就完事了,应该在catche抓取异常的同时一方面给程序员输出错误日志,一方面做些处理反馈给用户,比如一些提示错误框或者错误页面,不能让用