Java异常机制

Java异常(Exception)又称例外,是一种运行时错误。Java异常机制就是对于Java异常的处理方法,使用Java异常机制能提升程序的容错性,从而使程序更加健壮与安全。

  java异常种类很多,常用的异常包括:算术异常类(ArithmeticException),空指针异常类(NullPointerException),输入输出异常类(IOException),数组下标越界异常类(ArrayIndexOutOfBoundsException)、类型转换异常类(ClassCastException)等。

 Java中常有如下三种异常处理方法:

 1.使用try-catch-finally语句。try语句块放置可能发生异常的代码,catch语句块捕获这些代码产生的异常,finally语句块无论程序是否有异常发生,都会执行。

 2.使用throws关键字抛出异常。若某个方法可能发生异常,但不想在当前方法中处理这个异常,那就可以利用throws关键字在该方法抛出异常,然后在调用该方法的代码中捕获该异常进行处理。

 3.自定义异常类与throw关键字

  关于自定义异常类的使用,分为如下几个步骤:

  1)创建自定义异常类,利用继承思想

  2)在方法中通过throw关键字抛出异常对象

  3)若在当前抛出异常的方法中处理,使用第一种方法,否则使用第二种方法

  第一种异常处理方法测试代码如下:

/**
 *利用try-catch-finally语句块进行异常处理
 */
public class ExceptionTest {
 public static void main(String[] args) {
  try {
    int iNum = 5 / 0;
    System.out.println(iNum);
  } catch (Exception e) {
    e.printStackTrace();//指出异常的类型、性质、栈层次及出现程序中的位置
  } finally {
    System.out.println("第一种异常处理方法测试");
  }
 }
}

  运行结果如下所示:

 

  第二种异常处理方法测试代码如下:

/**
 *利用关键字throws进行异常处理
 */
public class ExceptionTest1 {
 public static int divide(int iNum1, int iNum2) throws ArithmeticException {
   return iNum1 / iNum2;
 }
 public static void main(String[] args) {
  try {
    int iNum = divide(5,0);
    System.out.println(iNum);
  } catch (ArithmeticException e) {
    e.printStackTrace();//指出异常的类型、性质、栈层次及出现程序中的位置
  } 
 }
}

 运行结果如下所示:

 

  第三种异常处理方法测试代码如下:

/**
 *类描述:自定义的异常类,继承于Exception
 */
class MyException extends Exception {
 String message;
 public MyException(String errorMessage) {
  this.message = errorMessage;
 }

 public String getMessage() {//覆盖getMessage()方法
  return message;
 }
}

/**
 *自定义类MyException和throw关键字进行异常处理
 */
public class ExceptionTest2 {
 public static int divide(int iNum1, int iNum2) throws MyException {
   if(0 == iNum2) {
    throw new MyException("除数不能为零。");
   }
   return iNum1 / iNum2;
 }
 public static void main(String[] args) {
  try {
    int iNum = divide(5,0);
    System.out.println("计算结果是:" + iNum);
  } catch(MyException e) {
    System.out.println(e.getMessage());
  } catch(Exception e) {
    System.out.println("程序发生了其他异常");
  }
 }
}

 运行结果如下所示:

 

 总结:

 1.程序设计与开发中,需要考虑程序的异常,利用异常机制可以让程序更健壮与安全

 2.异常处理不应用来考虑程序逻辑,主要避免程序运行时错误

  参考资料:

  【1】明日科技 李钟尉 陈丹丹编著.Java编程宝典.北京:人民邮电出版社,2010.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值