StatckTraceElement [] ete=e.getStatckTrace();
然后遍历

解决方案 »

  1.   

    个人建议:
       您的最终目的是要看看哪里出错了(个人理解)
       您用调试工具(debug)
       直接查看内存块信息
    (个人观点,仅供参考)
      

  2.   

    TO :jFresH_MaN(受不了你了!!呆鸟!!啊!!啊!!啊!!) 如何遍历呢?因为我以前一直用.net,刚接触java,所以边最基础的东西还不清楚的,你能说清楚点吗?-----------
    TO: 007remember(绿原) 
    我的原意是要把异常链消息交给另一个组件保存在一个文件中,因为打印的方法只能在调试程序时使用,不可能在系统上线后还用打印的方法。
      

  3.   

    为什么不考虑用第三方包实现楼主的需求,比如log4j
      

  4.   

    TO:DreamDragon_NEU(梦龙)因为我们在封装适合于自己公司的日志组件及异常组件。所以不考虑用log4j.
      

  5.   

    try{   
    //----
    }
    catch( Exception e)
    {
     ByteArrayOutputStream buf = new ByteArrayOutputStream();
     e.printStackTrace(new PrintWriter(buf, true));
     String expMessage = buf.toString();
     }
      

  6.   

    try{
    }
    catch(){
        e.printStackTrace();
    }
    这样应该可以看到错误
      

  7.   

    //将异常内容输出到文件
    public void logError( Exception ex ) throws IOException
        {
            File log = new File( "log.txt" );
            DataOutputStream dos = new DataOutputStream( new FileOutputStream( log ) );
            ex.printStackTrace( new PrintStream( dos ) );
            dos.flush();
            ..............
        }这样就可以拉。看你需要传什么参数过去了
      

  8.   

    谢谢以上所有的热心的网友。问题已经解决:从eclipse中看到了它的实现,也就是jFresH_MaN所说的方法。几天下来,感觉java和.net还是有区别的,虽然都是面向对象的。尤其有些语言特性,对设计人员来说需要清楚的了解的。