前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决程序报错的套路

解决程序报错的套路

作者头像
JavaQ
发布2018-07-25 15:48:57
4730
发布2018-07-25 15:48:57
举报
文章被收录于专栏:JavaQJavaQ

当程序运行发生错误时,你需要学会使用常用套路去分析并解决这些问题,下面介绍一些常用的套路。

系统日志

当程序报错时,要会看错误日志。通常情况下,程序发生错误时会输出很多ERROR级别的日志信息,此时不要被繁多的错误日志信息而吓到,对你来说最有用的是第一条报错提示信息,找到输出的第一条ERROR级别的错误信息,或者说是第一条包含cause by的错误信息。接着,根据错误提示信息,找到产生错误的代码,分析具体的错误原因。

说到系统日志,不得不提的是要会记录日志。记录日志要分级别,通常对于有数据异常或处理异常的要记录ERROR级别的日志;对于只用于记录行为或执行状态的日志,使用INFO级别;对于仅用于调试使用的日志信息,使用DEBUG级别。对于一些特别重要的处理方法,需要在方法的入口和出口处记录INFO或DEBUG级别(根据具体需要而定)的日志,方便后续记录、跟踪或查询问题。

搜索引擎

一般情况下,程序报错后根据错误提示信息可初步分析出错误原因,但有时出错的问题可能超出了自己的认知,一时半会又分析不出原因,除了咨询技术大佬,你还可以问网络大佬--搜索引擎。曾经有一位大佬说过,他的牛掰并不是因为他真的很牛掰,而是他会用、善用搜索引擎,因为互联网的时代信息是共享互通的,你遇到的问题,其他人可能早遇到过并解决了。这里提醒一下,本文说的搜索引擎不是某度,而是Google,因为后者搜索到的结果更全面、靠谱。

对于同样的报错信息,他人的解决方案可能并不能解决你的问题,因为可能你的问题追根溯底并不是和他的一样,只是报错提示一样罢了,例如Spring Boot集成JSP的时候错误提示java.lang.NoClassDefFoundError: javax/el/ExpressionFactory,你搜结果会搜到有人把javaee.jar包放在tomcat中的common\lib目录下就解决了,但是你用的是嵌入式tomcat,没办法搞啊,所以对于搜索结果不能一味的相信,需要使用辩证思维。这里强烈推荐一个国外的技术问答网站https://stackoverflow.com/,大部分问题都可以在这里找到解决方案,而且准确率很高,因为它具有独特的答案采纳规则,吸引了全球的程序开发人员在上面问答,包括很多国内外大牛。

动手验证

有时你可能会遇到搜索引擎也帮不了的诡异问题,这时就需要由系统到子系统、由子系统到模块、由模块到类、由类到方法的这种从整体到个体的分析方法,分析觉得哪里有问题就动手实践验证,总会在验证中找到结果。也许你听说过这么一句话,复杂难找的问题背后总有一个弱智无比的BUG。

知识储备

解决问题的最好方法是根据已知的技术原理分析其原由,这样不仅定位快速,而且解决的很彻底。所以,我们在使用一门技术的时候,不仅仅是知道如何使用它就完了,而是要熟悉其背后的原理,深入底层实现原理,这样不仅会用的更好,而且可以快速的解决出现的问题,提高工作效率。

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JavaQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系统日志
  • 搜索引擎
  • 动手验证
  • 知识储备
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档