分析解决问题的经验

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 分析解决问题的经验

1.养成一些好的习惯


1.1 在测试之前要清除控制台日志


1.2 编写好一部分就测试一部分


1.3 我们有的时候会try … catch异常,但是我们一定要记得在catch的时候打印异常e.printStack()



2.出现问题之后怎么去分析


2.1 看日志:找是否有异常日志(但凡能在控制台报错的异常,就一定要会解决)


2.1.1 看浏览器控制台日志


(1). 我们要学会查看浏览器的控制台F12


(2). 看console部分的内容


2.1.2 看idea控制台日志


(1). 首先找这个异常是一个什么Exception,而且我们要总结一些常见的Exception

NullPointException空指针异常: 一定是由于一个空对象调用了方法而导致的,那么你只需要找到是哪个对象为空导致的


NumberFormartException数值转换异常: 那它肯定是因为你将一个无法转成数字的东西转成数字而导致的


ClassCastException类型强转异常: 它肯定是因为你把一个对象转成了它本身不属于的类型;

ClassNotFountException类找不到异常: 引起它的原因是因为类加载器在加载的过程中没有加载到你使用的类,可能是由于你引入jar包出问题了,


还有可能是因为项目环境导致编译出现问题,有的类没有进行编译

FileNotFoundException文件找不到异常: 原因基本上就因为你的文件路径写错了

SqlException数据库操作异常: 肯定是和持久层数据库操作有关,有可能是因为连接池等待超时、SQL语句写错了、配置文件中的用户名、密码、驱动等等信息出错

NoSuchMethodException找不到要调用的方法: 你在使用反射调用方法的时候,没有定义这样的方法


2.2 有一些问题没有报异常怎么办呢?



1.找源头: 找到为什么会出现现在的情况?

2.Debug分析(很重要的技能)

  1. 一定要采用debug模式开启服务器

   2.debug的目的是什么: 让功能运行中途停下来,然后可以一步一步执行,可以在你想让它停的时候就停,然后便于观察每一个对象

 3.  我们想要在哪停下来,就在哪打断点(当代码执行到断点处的时候,断点处这句代码其实还未执行)


4.debug的一些操作:


4.1 执行一行: Step Over 快捷键就是F8


4.2 进入到某个方法(我一般不建议使用): Step into 快捷键就是F7


4.3 退出某一个方法: Step out 快捷键Shift + F8


4.4 继续运行程序: Resume program F10, 让你的程序继续运行它会在遇到下一个断点的时候停下来,如果后面没有断点了就会执行完这个功能

5.debug完之后一定要清除你所打的断点



3.异步请求的功能怎么分析问题

  1. 在浏览器打开F12控制台,找到Networ

 测试发送异步请求:

   2.观察当前这次请求的url、参数是否有问题,然后再观察这次请求的响应数据是否有问题

   3.如果响应数据没有问题,但是页面显示出来的数据有问题(或者页面没有显示数据),问题出现在前端代码

  4. 如果响应的数据有问题,那么后端代码肯定有问题

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
3
分享
相关文章
为什么很多人工作3年,却只有1年经验?
同样是在软件开发行业工作 3 年,为什么有些人经验丰富,可以独当一面,而有些人却还和工作一年的人差不多?作者给出了自己的答案。
48366 16
为什么很多人工作 3 年 却只有 1 年 经验?
为什么很多人工作 3 年 却只有 1 年 经验?
102 0
面试现场表现:展示你的编程能力和沟通技巧
面试现场表现:展示你的编程能力和沟通技巧
134 0
程序员必备的分析解决问题能力:案例分享
程序员必备的分析解决问题能力:案例分享
232 0
程序员必备的分析解决问题能力:案例分享
教你如何成为解决问题的高手
最近看到很多初级或者准备入坑的小伙伴在问答模块提问问题 ,有的在 QQ 群或者微信群提问题,这个是很多新手程序员都会经历的一个过程,这种事情很正常,主要是自己都不清楚问题是什么或者描述不清楚,别人如何帮你解答呢?
118 0
六石管理学:使用排除法解决问题
六石管理学:使用排除法解决问题
166 0
高效代码审查的十个经验
高效代码审查的十个经验 代码审查(Code Review)是软件开发中常用的手段,和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题,还可以帮助团队成员提高编程技能,统一编程风格等。
1195 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等