Java异常处理的几个原则如下。
      1)不要丢弃异常,捕获异常后需要进行相关处理。如果用户觉得不能很好地处理该异常,就让它继续传播,传到别的地方去处理,或者把一个低级的异常转换成应用级的异常,重新抛出。
      (2)catch语句应该指定具体的异常类型。不要把不该捕获的异常也捕获了
      (3)在finally里面释放资源。如果finally里面也会抛出异常,也一样需要使用try..catch处理。
      (4)不要把大量的代码塞在try...catch块里面,分离各个可能出现异常的语句并分别捕获异常。
      (5)由于异常可能导致输出的数据不完整,因此用户需要作出相应处理,至少应该提示该数据的不完整

一:Exception异常层次结构的根类

解决方法:

二:RuntimeException许多java.lang异类的基类

解决方法:1.在eclipse里面,project->Generate javadoc菜单,在第三个对话框的Extra Javadoc options文本框里面加上 -encoding UTF-8 参数之后,此现象就消失了

2.临时)在控制面板中将区域与语言选项中,把当地语言设为英语

3.将要输入文件的东西,输入后台的数据改成全英文,也可以解决。

三:ArithmeticException算术错误情形

解决方法:仔细阅读程序中是否有涉及到算术问题,算术中是不是未考虑到除0的情况。

四:IllegalArgumentException方法接收到非法参数

解决方法:1.可能是接收到的参数非法,或者程序源代码没有错误的话就是配置的问题才会导致数据传输不过来,可能是配置文件的问题,也有可能是环境配置的问题,例如你的文件路径跟你从svn上的路径不对也会导致这个问题。

五:ArrayIndexOutOfBoundException数组大小小于或大于实际的数组大小

解决方法:仔细阅读源程序有关于涉及到数组的定义和使用,有没有出现数组的下标小于数组大小或者数组下标大于等于数组大小

六:NullPointerException尝试访问NULL对象成员

解决方法:这个异常一般是方法内部成员没有赋值造成的。使用debug模式查看,会发现该成员的值显示的是Null.对null成员做任何操作都会报这个异常错误。所以在做之前需要做非空判断。

七:ClassNotFoundException不能加载所需的类

解决方法:ClassNotFoundException异常后面跟的就是找不见的类路径。可以通过“CTRL+SHIFT+T”,之后再弹出的对话框中输入类路径,看看此类是否存在。
如果存在的话,直接在报错的类中通过“import 类路径”的形式引入即可。
如果不存在的话,那么只能是去创建此类,或者引入相应的jar包进行解决了。

八:NumberFormatException数字转化格式异常

解决方法: 主要原因是将用户提交的内容转换为整数或者浮点数时用户输入了其它非法字符。在需要进行转换的地方使用try/catch块捕获此异常然后提示用户输入合法数据。

也可以看下边的错误堆栈,找出自己写的类在哪一行出现错误,然后定位的找到错误的行,在什么时候执行哪一条语句出现的错误,就可以相应的用try/catch捕获解决解决。

九:FileNotFoundException找不到文件

解决方法:1.可能是父路径缺乏,或者文件没有创建。可以加一个判断。

2.文件没创建

String localPath =path+name;

File file =new File(localPath);

try {

//假如文件不存在,需创建

if(!file.exists()){

file.createNewFile();

}

特别注意的是文件创建的是.TXT文本,要在文件名或者文件目录填写的时候,将文件名后缀加上,将.TXT加上。

十:EOFException文件结束,EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致异常。

出现ArithmeticException异常,由于出现了除0的现象而导致的。

当有多层嵌套的finally时,异常在不同的层次抛出 ,在不同的位置抛出,可能会导致不同的finally语句块执行顺序。

Finally不一定会执行。

关于JAVA项目中的常用的异常处理情况的更多相关文章

  1. 对java异常的总结及java项目中的常用的异常处理情况

    文章涉及内容来源:黑马程序员自学整理的笔记,网上查阅资料,以及转载名为墨钺的博客大佬,附上博客转载地址:https://www.cnblogs.com/gothic-death/p/9946415.h ...

  2. JAVA项目中的常用的异常处理情况总结

    可能遇见的异常或错误: 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的.例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略. 运行时异常: ...

  3. 关于JAVA项目中的常用的异常处理情况总结

    1. JAVA异常处理 在面向过程式的编程语言中,我们可以通过返回值来确定方法是否正常执行.比如在一个c语言编写的程序中,如果方法正确的执行则返回1.错误则返回0.在vb或delphi开发的应用程序中 ...

  4. JAVA项目中的常用的异常处理情况

    NO.1 java.lang.NullPointerException 这个异常比较容易遇到,此异常的解释是“程序遇上了空指针”,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现 ...

  5. 关于JAVA项目中的常用的异常处理

    一.简介(摘自百度百科) 异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件). 异常有以下的一些特点: (1)偶然性.程序运行 ...

  6. JAVA项目中的常用的异常处理

    1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象 ...

  7. 动手动脑5JAVA项目中的常用的异常处理情况

          Java异常处理的几个原则如下.     (1)不要丢弃异常,捕获异常后需要进行相关处理.如果用户觉得不能很好地处理该异常,就让它继续传播,传到别的地方去处理,或者把一个低级的异常转换成应 ...

  8. JAVA项目中常用的异常处理情况总结

    JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...

  9. JAVA项目中常用的异常知识点总结

    JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...

随机推荐

  1. R8500 MPv2 版本 刷 Kong编译的 ddwrt 后,使用Entware-ng 安装opkg安装第三方软件

    先说R8500吧. 由于Netgear网件的问题导致R8500在去年双11前夕出现了全球范围的Boot Loop的问题,现象为新设备开机一段时间后,路由器进入不停重启的状态,电源灯桔黄色.在和网件工程 ...

  2. 腾讯云SpringBoot部署 + HTTPS配置

    springboot可以打包为jar和war,jar不多说了,最近的一个工程需要打包为war发布,大致说一下吧: 先看一下项目的大致结构: 第一步,需要排除springboot自带的tomcat插件 ...

  3. RGMII_PHY测试笔记1 基于开发板MiS603-X25

    RGMII_PHY测试笔记1 基于开发板MiS603-X25 作者:汤金元 日期:20150817 公司:南京米联电子科技有限公司 博客:http://blog.chinaaet.com/detail ...

  4. Socket网络编程--聊天程序(5)

    上一小节我们讲了使用select来避免使用多进程的资源浪费问题.上次只是实现了从多个客户端发送数据给服务器端,接下来就要实现从服务器端发送数据给各个客户端. 使用select多路转换处理聊天程序2 c ...

  5. 【Spark 深入学习 02】- 我是一个凶残的spark

    学一门新鲜的技术,其实过程都是相似的,先学基本的原理和概念,再学怎么使用,最后深究这技术是怎么实现的,所以本章节就带你认识认识spark长什么样的,帅不帅,时髦不时髦(这货的基本概念和原理),接着了解 ...

  6. linux每日命令(34):ps命令和pstree命令

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  7. bootstrap 3.0 LESS源代码浅析(一)

    我一直以为Bootstrap的LESS源代码精髓在mixins.less,所以这个系列主要也是讲解mixins.less的. 什么是mixins? 混入,或者翻译成混合.官网的说法是:我们可以定义一些 ...

  8. 记录一次在安装双系统的过程(先有debian, 后加windows 8.1)

    突破的难题:  如何在一整个根目录的分区中切出来一半用于安装windows8.1呢? 当初安装debian系统时, 由于脑残,直接把整个500G的硬盘分给了根目录 /  ,所以整个磁盘就TMD的一个主 ...

  9. python中的生成器函数是如何工作的?

    以下内容基于python3.4 1. python中的普通函数是怎么运行的? 当一个python函数在执行时,它会在相应的python栈帧上运行,栈帧表示程序运行时函数调用栈中的某一帧.想要获得某个函 ...

  10. 嵌入式开发之hi3519---GPIO 驱动

    在一个嵌入式系统中使用最多的莫过于 通用输入输出 GPIO口.看到论坛中经常有朋友问海思为什么没有提供GPIO驱动.其实不然. 在海思SDK  xxx/osdrv/tools/board_tools/ ...