【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);
        }

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

相关文章
C --- 自定义一个宏打印当前文件名、函数名、行号
C --- 自定义一个宏打印当前文件名、函数名、行号
316 0
|
8月前
|
Java
java中FileOutputStream流中有参构造方法有无append形参的区别--超详细讲解版
java中FileOutputStream流中有参构造方法有无append形参的区别--超详细讲解版
68 0
【static + 代码块+toString打印对象】
【static + 代码块+toString打印对象】
76 0
|
前端开发 Java UED
已解决错误代码: MethodArgumentTypeMismatchException(方法参数类型不匹配异常)
已解决错误代码: MethodArgumentTypeMismatchException(方法参数类型不匹配异常)
271 0
|
Java Android开发
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
105 0
|
C语言
【C 语言】文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )
【C 语言】文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )
181 0
|
XML Java Maven
可以让反射获取到方法参数实际的变量名设置
可以让反射获取到方法参数实际的变量名设置
179 0
|
Java
Java - 获取代码行号、方法名、类名
Java - 获取代码行号、方法名、类名
801 0
|
设计模式 开发框架 .NET
C#一些类名的后缀及其意义
C#一些类名的后缀及其意义
180 0
错误: error: C2001: 常量中有换行符
错误: error: C2001: 常量中有换行符
806 0
错误: error: C2001: 常量中有换行符