Java开发中常见的问题、异常及解决方案
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.编译时出现异常。
图中的两行代码下面出现红色下划线,此问题就是编译时出现了异常,从图中可以看出此编译异常是因为参数类型不对应。解决方案:若出现编译时异常时,可以将鼠标放到出现异常的地方,查看对应的异常信息。
持续更新中..................................
Java开发中常见的问题、异常及解决方案相关推荐
- Java开发中常见的危险信号(下)
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/common-red-flags-in-java-3 Dustin Ma ...
- Java开发中常见的危险信号
Dustin Marx是一位专业软件开发者,从业已经有17年的时间,他拥有电子工程学士学位,还是一位MBA.Dustin维护着一个博客,专门介绍软件开发的各个主题.近日,他撰文谈到了Java开发中常见 ...
- iOS开发中常见的一些异常
iOS开发中常见的一些异常 参考文章: (1)iOS开发中常见的一些异常 (2)https://www.cnblogs.com/feng9exe/p/7244936.html 备忘一下.
- Java开发中常见的危险信号(中)
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/common-red-flags-in-java-1 Dustin Ma ...
- java最最长的错误,Java开发中遇到最多的异常是什么?最后一个最多最难!
作者:终端研发部 NO.1 Java.alng.NullPointerException 这个异常大家肯定都经常遇到,异常的解释是 "程序遇上了空指针 ",简单地说就是调用了未经初 ...
- Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day7,java开发中常见中间件面试
不敢苟同,相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍热门面试题及恰如其分的解 ...
- Java 开发中常见的异常有哪些?
1.空指针异常(NullPointException):当对象不存在,却又去调用对象的属性或方法时,就会出现该异常 2.数组越界异常(ArrayIndexOutOfBoundsException):当 ...
- java开发中常见的延时消息解决方案
前言 延时消息(定时消息)指的在分布式异步消息场景下,生产端发送一条消息,希望在指定延时或者指定时间点被消费端消费到,而不是立刻被消费. 延时消息适用的业务场景非常的广泛,在分布式系统环境下,延时消息 ...
- java web开发常见问题_javaWeb开发中常见的问题
1.修改表单提交的时候不好使可能是因为没写对应隐藏域的ID 2.el表达式在js代码中要加"",例如 "${}" 3.JavaScript中的函数也有重载的特性 ...
最新文章
- 计算机考试题 实操,计算机考试实操题-20210604194811.docx-原创力文档
- P7 计算机的性能指标
- QThreadPool Class的翻译
- 银行推出一年存1万连着存5年,利率4.5%,能存吗?
- 图解 React-router 源码
- java中hasnext的作用_java中Scanner的hasNext()的疑问
- CWinThread
- 【开发工具】之MinGW下makefile的编写
- C/C++ 知识点---链表操作
- 五行塔怎么吃第五个_朱元璋第五个儿子:被儿子举报造反,日常研究野菜怎么吃...
- 黄聪:wordpress如何添加自定义文章快速编辑按钮
- 基于大数据的舆情分析系统架构(架构篇)
- [Android]Android P(9) WIFI学习笔记 - HAL (1)
- 关于交换机包转发率1.488Mpps是如何计算出来的?
- CF1503D Flip the Cards(思维题)
- 脉冲式和相位式激光测距
- 个人简介个人自我介绍PPT模板
- Linux Ubuntu20.04安装RTL8156网卡驱动开启巨型帧
- C语言实现二分法查找某个数字(超详细)
- 微型计算机的储存体系如何,存储体系结构
热门文章
- 如何找寻高质量免费机器人工程资源自学提升
- 最小二乘法拟合直线簇交点及Ransac拟合
- 综述:城市道路自动驾驶车辆规划与控制技术
- 模型线上线下一致性问题
- FlexNetLicensing简介(由FlexNetPublisher和FlexNetEmbedded构成)
- vc2017+opencv3.4.1+摄像头的读取和保存
- 建筑施工技术【16】
- 最新麦子学院Web前端项目实战 Web前端开发从入门到精通33G完整版
- excel表格内文字怎么换行_Excel表格技巧—Excel 如何给文字加拼音
- [译]dotdotpwn使用