Java中的异常

     废话少说,今天来看看Java的反常处理。
  Java的反常
  议论Java的反常以前,先看看反常处理程序能带来什么优势?明显的优势是降低过错处理代码的复杂度。Java中的反常处理机制能帮助开发者简化处理反常的本钱,假如产生反常了可以有两种方式处理,第一种为捕捉反常并测验康复,比方网络反常,超时反常等,另外一种即是向高层调用抛出反常。
  Java中的反常处理机制即是用要害字try-catch-finally,throw或许throws处理,下面就分别说明使用方:
  Try代码块用于监听程序是否呈现问题,也即是监听有可能产生问题的代码块Catch捕捉反常,可以指定特定反常进行捕捉Finally要害字后面的代码块,在try-catch后总会执行,用来封闭文件,封闭链接等。Throw抛出反常,假如我们不想处理这个反常,可以经过throw抛出,也可以转换成新的反常抛出Throws给办法签名指定可能抛出的反常。Java的反常的基类是Throwable,这个类完成了Serializable接口,所以是可以序列化的,并且提供了存储和打印执行反常栈的信息。
  Throwable有两个子类完成类,一个是Error,另外一个即是Exception。Error表明不行康复的过错,属于JVM内部的过错,比方体系内存溢出了;Exception代表体系呈现了一些问题,可是还不至于体系彻底不行用,经过重试或许改动输入参数有可以康复的反常,有包括查看反常和非查看反常。
  查看反常(ChekedEcxception):查看反常承继于Exception,这类反常假如不处理在编译期间就会报错,比方数据库链接反常DataAccessException,文件不存在反常FileNotFoundException,IO反常IOException等。非查看反常:程序运转中产生的反常,在程序的编译时分可以疏忽的反常,比方RuntimeException,或许承继与RuntimeException的反常。
  查看和非查看反常
  如下是一个读取文件的例子,在读取文件的时分会产生FileNotFoundExcepton和IOException,我们都进行了捕捉,最终在finally中封闭了翻开的文件。
  一个自界说反常实例
  自界说反常
  在开发中发现JDK提供的反常没法知足如今的需求,可以经过集成已有的反常类来自界说反常。
  在自界说反常的时分,是界说查看反常还是非查看反常?如下是我的看法,
  假如一个问题需求显现的处理,比方调用其余体系接口的时分,服务不行用,就可界说为查看反常,自界说的查看反常是要求在编程的时分有必要处理的。
  业务的反常经过经过承继RuntimeException来界说非查看反常,比方参数过错,成果找不到等,这类反常都是在运转期间产生的,我们不用在调用的地方显现的处理,可以在一个地方统一的处理。
  下面就定一个查看参数的反常类承继于RuntimeException,界说一个过错code用来记载过错的代码。














数据库

相关文章
相关标签/搜索