Java运行时常见异常的处理

作为一名程序员,我们在运行我们的逻辑代码的时候肯定会避免不了异常,也就是所谓bug,这里小编呢,就为大家分享一下自己平时遇见的异常处理方式.

一. 空指针异常(java.lang.NullPointerException)

相信这是一个非常典型的异常,也是小编自打学习Java语言至今遇到最为常见的一种异常,而这种异常产生的原因是:我们写代码的时候某一个变量或者引用对象为空值也就是null,并使用了这个引用对象去调用了方法和属性,导致程序报了空指针异常.

针对这种异常小编通常是三部曲的解决方式:

第一,首先出现异常我们的后台肯定是出现这种异常的提示,并提示在某一行,我们跟随这个提示找到这一行引用代码:

JAVA源码中断点进不去 java异常断点解决_前端页面


第二,在异常代码行打个断点,进入debug调式模式下运行,代码执行会定局在这一行,通过观看后台variables显示的变量值可以看出哪一个引用对象为空:

JAVA源码中断点进不去 java异常断点解决_java代码_02


第三,找出空值的引用后,自然而然,我们就可以去做相应的调式,解决异常了.

二. 404异常

想必对于404异常大家也是不陌生,也就是提示我们的请求页面没有找到代码执行的响应资源,导致这个异常的产生多数是在我们书写Servlet代码层的时候一些关于资源路径相对应的变量名书写错误而导致.

JAVA源码中断点进不去 java异常断点解决_JAVA源码中断点进不去_03


针对此异常的处理:

第一,我们需要检查我们的服务器导入的项目路径是否是我们所运行的项目工作空间的所在路径,不是请导入正确的服务工作空间路径路径

JAVA源码中断点进不去 java异常断点解决_JAVA源码中断点进不去_04


JAVA源码中断点进不去 java异常断点解决_java_05


第二,看Servelet代码层的注解value值与请求页面的响应资源路径是否一致.不一致修改为一致的即可

JAVA源码中断点进不去 java异常断点解决_java代码_06


JAVA源码中断点进不去 java异常断点解决_java_07


第三,看前端页面编写的表单action属性值是否与注解的value值相对应.不一致就修改为一致的属性值即可

JAVA源码中断点进不去 java异常断点解决_JAVA源码中断点进不去_08


JAVA源码中断点进不去 java异常断点解决_JAVA源码中断点进不去_09


三. 405异常

405异常是我们的协议错误异常,也就是我们前端页面表单中的method属性值与自定义Servelet里重写的请求方法不一致而导致的.

处理此异常我们只需要去检查我们前端页面的method的值和我们的请求方法即可

JAVA源码中断点进不去 java异常断点解决_java_10


JAVA源码中断点进不去 java异常断点解决_前端页面_11


四 . 500异常

500异常的产生,就有些五花八门了,导致的原因比较细,也比较花费一些时间,因为500异常,说白了就是我们所编写的java代码出现了问题.

处理方式:

第一,根据异常的后台提示,找到相应的代码行引用.打下断点

JAVA源码中断点进不去 java异常断点解决_java代码_12


第二,进入debug调式模式下,在不清楚引用锁嵌套的方法下,我们需要点击Step Into进去该引用方法,Idea有时候无法正常进入,就点击Force Step Into强制进入该引用方法,

JAVA源码中断点进不去 java异常断点解决_JAVA源码中断点进不去_13


JAVA源码中断点进不去 java异常断点解决_JAVA源码中断点进不去_14


第三,一层层点击进入方法的内部,找到异常引用的方法.

JAVA源码中断点进不去 java异常断点解决_JAVA源码中断点进不去_15


第四步,点击Step Over去一行一行运行调式我们的代码,同时也要注意,后台展示台variables显示的内容,找到我们编写的java代码的异常问题所在去进行修改重复运行调式即可.

JAVA源码中断点进不去 java异常断点解决_前端页面_16


第五,出现方法带有循环遍历数据库的情况下,我们还可以通过调式断点,在相应循环赋值引用对象行打下断点,点击鼠标右键,通过输入引用的方法得到的对象调用equals方法直接定义到某一行,点击done,只获取该行的数据内容,查看是否有异常.此调试方法需要注意的是,输入框提示红色时,表示你输入的引用语法不对,语法规则参照java的语法规范.

JAVA源码中断点进不去 java异常断点解决_属性值_17


第六,在我们遇到复杂的嵌套引用时,我们还可通过选中某一个引用输出得到选中引用的值,检查调试是否有问题.和上一步一样,在跳出一个指定输入框里输入我们想要查找的某一个引用的值的语法即可.

JAVA源码中断点进不去 java异常断点解决_属性值_18


JAVA源码中断点进不去 java异常断点解决_java_19


第七,500异常原因既然是我们java代码出现问题,逻辑框架一般不会有太大问题,多数情况存在于我们的所写的一些方法名,属性名等书写错误,或者一些请求的路径缺失,书写错误等等,又或者是properties文件内容有误,导致获取不到连接等,所以说出现500异常是比较五花八门的方式导致的,需要我们耐心的去调式处理检查.

综合来说大部分都是三部曲解决方式,第一,找到异常引用;第二debug调式模式进入到各个断点位置运行代码检查相关属性和引用;第三,找出异常的引用后进行相关修改操作.

调试代码是一个增长个人业务经验,提升解决bug能力,和考验个人抗压能力以及耐心指数的一个过程,所以在我们的代码出现异常时,请用足够的耐心去热爱它,安抚好它,解决出现的问题.

以上就是小编的个人分享处理异常方式,希望能帮助到需要的人,同样也欢迎行业大咖们的讨论和指教.