码迷,mamicode.com
首页 > 编程语言 > 详细

java基础知识回顾之异常处理

时间:2014-09-20 23:58:49      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   使用   java   ar   strong   

异常处理机制


      在程序运行的过程中难免会发生例外,例如除0溢出,数组越界和文件找不到等,一旦发生例外情况,将阻止程序的正常运行。为了将强程序的强壮性,必须考虑到可能发生的异常并能进行相应的处理。

      java通过面向对象的方法进行异常处理,一个方法在运行过程中,一旦发生了例外,就会产生一个异常对象,这一过程称为抛出,之后就会寻找相应的处理代码进行处理,这一过程称为捕获。如果没有找到,将会终止程序运行。

      java中的例外分为两类,分别是错误(Error)和异常(Exception)。Error是指java虚拟机内部放生错误,由java虚拟机抛出,例如资源耗尽等,通常这类情况不予处理。Exception是指编程错误或偶然的外界因素造成的一般性问题,例如对负数开平方根,访问的文件找不到和网络连接中断等。这类例外需要程序员进行处理。

      错误和异常的类结构:

    bubuko.com,布布扣

一般所谓的异常处理是指Exception类的异常处理,Exception类又可以分为运行时异常(RuntimeException)和非运行时异常,RutimeException是运行时有Java虚拟机抛出的异常,例如:算数运算异常ArithmetricException和数组界异常ArrayIndexOutofBoundsException等;非运行时异常,例如输入输出异常(IOException)等,java编译器要求程序员必须捕获处理所有的非运行时异常,否则编译不通过,但对运行时异常可以不做处理,但为了程序的健壮性,最好还是处理一下。

   常见的运行时异常(RuntimeException)有:


  ·  ArithmetricException:数学计算异常

  ·  NullPointerException:空指针异常。

  · NegativeArraySizeException:负数组长度异常。

  · ArrayOutofBoundsException:数组索引越界异常。

  · ClassNotFoundException:类文件未找到异常。

  · ClassCastException:类型强制转换异常。

  · SecurityException:违背安全原则异常。

  非RuntimeException类型的异常主要有:


  · NotSuchMethodException:方法未找到异常。

  · IOException:输入输出异常。

  · EOException:文件已结束异常。

  · FileNoeFoundException:文件未找到异常。

  · NumberFormatException:字符串转换为数字异常。

  ·  SQLException:操作数据库异常。

处理异常的两种方式:


1.使用try{}catch(Exception e){}finally{//无条件执行}

2. 方法名前throws Exception

 自定义异常:

方法是继承Exception类,为方便使用通常提供两个构造方法,一个无参,一个有参。

例 

public class UserNotFoundException extends Exception{   
   public UserNotFoundException(){                    //无参构造方法
    super();
   }
   public UserNotFoundException(String msg){   //有参构造方法
     super(msg);
  }
} 

 自定义异常的使用,两种方式: 


 违反业务逻辑: 

public void f1()throws UserNotFoundException{
   if(条件不满足){
     throw UserNotFoundException(‘条件不满足‘);
   }
}

  try--catch()捕获输出:

public void f2(){
  try{
    //业务代码
  }catch(Exception e){
     throw new UserNotFoundException(‘没有词用户‘);
  }
}

java基础知识回顾之异常处理

标签:style   blog   http   color   io   使用   java   ar   strong   

原文地址:http://www.cnblogs.com/duchuan/p/3763094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!