在j2se中,java获取错误发生在第几行?
.........
try
{
..........
}
catch(Exception e)
{
     System.out.println("Exception:"+e"); //我想获取此处在程序中的第几行?
}大家帮忙一下,有没有办法,
在C语言中都有__LINE__,__FILE__可以获取发生错误在第几行,

解决方案 »

  1.   

    第一种方法: try
    {
    ..........
    }
    catch(Exception e)
    {
        ex.printStackTrace();
    }2.不推荐第一种方法。
    如果是做项目的话,建议使用 日志。
      

  2.   

    e.getStackTrace()[0].getLineNumber();
      

  3.   

    StackTraceElement[] stacks = e.getStackTrace();
    for(int i=0;i<stacks.length;i++){
    System.out.println("file name:"+stacks[i].getFileName());
    System.out.println("class:"+stacks[i].getClassName());
    System.out.println("method name:"+stacks[i].getMethodName());
    System.out.println("Line No:"+stacks[i].getLineNumber());
    System.out.println("--------------------");
    }上面程序可以打印出调用的堆栈信息,何止行号
    只要在上面加上少许递归,即递归e = e.getCause();(直到e=null)