1) java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。
2) java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误;通常都是程序试图通过字符串来加载某个类时可能引发异常。
3) java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。
4) java.lang.IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生。
6) java.lang.ClassCastException 数据类型转换异常。
7) java.lang.NoClassDefFoundException 未找到类定义错误。
8)SQLException SQL 异常,常见于操作数据库时的 SQL 语句错误。
9) java.lang.InstantiationException 实例化异常。
10)404错误:这是常见的页面不存在错误,建议仔细核查显示的网页是否存在(在运行的浏览器地址框中仔细查看当前路径,核实该路径是否正确,是否有路径错误,当前网页名字名字错误,使 用了相对路径导致跳转出错等问题)。
11)500错误:大概率是代码有问题。
以下为真实场景中遇到的问题:
一.端口被占用
若出现以上类似的信息,表示你当前Tomcat中的端口已被其它应用或进程占用,需要将其关闭后才可以正常运行。
解决方案:
a.通常直接在后台结束进程即可。
b.若后台找不到该进程;则需要进入命令行界面(win+R:cmd)
使用命令查看占用8080端口的进程号:netstat –aon | findstr "8080"
示例:TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3500
杀掉进程:tskill 3500(进程号-PID)
二、数据库相关异常
1.数据密码错误
出现如图的异常,应该就是你连接数据库时密码有问题,需要查看JDBC中对应数据库的密码是否正确。
2.参数索引超出范围
出现如图的异常表示参数索引超出了范围,简单的理解就是sql语句中的?的个数和你的参数个数不匹配;图中箭头标注的位置应该是(i+1)。
3.数据表不存在
图中的异常信息大致就是,在session1数据库中不存在user表,查看对应的sql会发现from后面的表名应该有问题user-->应该是users。
4.字段信息有误
图中的异常信息大致就是,s1(schedule)这张数据表中不存在scheduleidd这个字段列(column);此类异常通常是sql语句编写错误。
三、编码问题
如果返回客户端的信息存在乱码问题,先看看项目中的编码格式是否符合自己的需要,如果正常的话,再看看servlet中是否有问题,如图在编码过程中将utf-8写成了uft-8。
四、越界
图中的异常情况大概是下标越界了,出现本异常的原因是上面listSchedule查出来的值为null或0(当listSchedule有值的时候不会有异常),所以下面的listSchedule.get(0)就存在问题;解决方案:应该在前面加一层判断!
五、代码逻辑的问题
除开运行时出现的异常问题了,可能还存在其它的问题。
1.代码的业务逻辑有问题(此问题程序可能不会出现异常,只是返回的结果和预期不一致)
比如图中的sql里面的参数顺序和下面的实际参数位置不对应,就可能造成一直提示密码错误。
解决方案:遇到此类问题,主要查看自己对应的代码是不是逻辑存在问题。
2.编译时出现异常。
图中的两行代码下面出现红色下划线,此问题就是编译时出现了异常,从图中可以看出此编译异常是因为参数类型不对应。解决方案:若出现编译时异常时,可以将鼠标放到出现异常的地方,查看对应的异常信息。
持续更新中..................................