【Exception】查看异常出现在具体的文件名/类名/方法名/具体行号

简介: 今天在处理异常日志保存过程中,想要获取到异常抛出在具体在那个文件,哪个类下的哪个方法中的具体第几行,所以具体实现如下try{ Integer adminID = Integer.

今天在处理异常日志保存过程中,想要获取到异常抛出在具体在那个文件,哪个类下的哪个方法中的具体第几行,所以具体实现如下

try{
            Integer adminID = Integer.parseInt(adminId);
            XxAdmin admin = adminRepository.findOne(adminID);
            model.addAttribute("admin",admin);
        }catch (Exception e){
            StackTraceElement stackTraceElement = e.getStackTrace()[0];
            String errorMsg = "文件名:"+stackTraceElement.getFileName()+
                            "\r\n类名:"+stackTraceElement.getClassName()+
                            "\r\n方法名:"+stackTraceElement.getMethodName()+
                            "\r\n抛出异常行号:"+stackTraceElement.getLineNumber()+
                            "\r\n机构ID异常,无法获取本机构信息:"+e;
            System.out.println(errorMsg);
            logger.error(errorMsg);
        }

对于堆栈【先进后出】的数组下标,可以根据自己的需求,看是需要打印出最上层的异常行号还是外层调用它的方法的异常行号!!!

相关文章
|
2月前
|
Java Android开发
如何确定抛出`NoSuchFieldError`异常的字段
当Java程序运行时,如果尝试访问一个不存在的字段,就会抛出`NoSuchFieldError`异常。要确定引发此异常的字段,可以通过检查异常堆栈跟踪中的类名和字段名来定位问题所在。此外,确保所使用的类版本一致,避免因类文件不匹配导致的此类错误。
201 7
C --- 自定义一个宏打印当前文件名、函数名、行号
C --- 自定义一个宏打印当前文件名、函数名、行号
328 0
Java字符串去掉空格的几种方法
Java字符串去掉空格的几种方法
pywintypes.com_error: (-2147221005, ‘无效的类字符串‘, None, None)
pywintypes.com_error: (-2147221005, ‘无效的类字符串‘, None, None)
1529 0
pywintypes.com_error: (-2147221005, ‘无效的类字符串‘, None, None)
【static + 代码块+toString打印对象】
【static + 代码块+toString打印对象】
77 0
成功解决pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)
成功解决pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)
成功解决pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)
|
Java Android开发
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
106 0
|
Java
Java - 获取代码行号、方法名、类名
Java - 获取代码行号、方法名、类名
804 0
错误: error: C2001: 常量中有换行符
错误: error: C2001: 常量中有换行符
810 0
错误: error: C2001: 常量中有换行符
|
设计模式 开发框架 .NET
C#一些类名的后缀及其意义
C#一些类名的后缀及其意义
185 0