1. 背景
今日回想起一个月之前的一个场景,研发反馈了一个异常,大概是他传入了一个整型,调用了函数Integer.parseInt方法,但是始终报错
Exception in thread "main" java.lang.NumberFormatException: For input string: "110"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
2. 原因
通过日志没有看出端倪,于是通过我通过远程断点调试,发现是由于数字前面存在不可见字符(输入来源是excel)。
此种场景下,通过日志无法精确定位原因,只能通过断点调试来解决;
3. 总结
为了减少定位异常的时长,我们优先选择记录详细的日志,就像飞机的黑匣子一样,记录系统的运行状态,关键参数,异常信息等。
定位问题优先日志先行,然后辅之以其他手段。能通过日志解决一定要优先增加日志。
网友评论