黑马程序员--java基础--异常(二)

来源:互联网 发布:新媒体软件 编辑:程序博客网 时间:2024/05/19 03:30

-------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流>-----

1. throws声明异常

用throws关键字在方法中声明可能出现的异常。如果出现异常,这些异常只是被抛出,方法本身不对其做出处理,而是传给上级处理。

格式:在方法名和大括号之间加入throws 异常类

例如:  public int  method ( int a )  throws   Exception {

 

}

可以声明多个异常,在异常类之间用逗号隔开

public  int  method (int a)  throws  Exception 1 , Exception 2 ,Exception3 {

 

}

 

党在方法中声明可能发生的异常时,为了让编译通过,有两种处理方式:

(1)在main方法中声明异常,即不做处理,交给虚拟机处理。

(2)在main中使用try捕获。

2. throw抛出异常

当异常发生时,在方法内部使用throw 关键字抛出异常,把它抛给上一级调用者。抛出的是异常对象或者异常引用。

例如:

public int  method (int  a) method  throw Exception{

      ……….

throw  new  ArithmeticException();

………..

}

为了让编译通过,两种处理方式:

(1)      在方法上用throws声明异常。(常用)

(2)      使用try捕获。

1.      throw 和 throws 的区别:

(1)      throws是声明异常用在方法上,throw是抛出异常用在方法中。

(2)      throws后面加 异常类 , throw后面加 异常对象

(3)      throws 是可能发生异常 ,throw是已经发生异常。

2.      RuntimeException 异常类

如果在方法内容抛出该异常throw ,方法上可以不用声明,编译一样可以通过。

如果在方法内容声明了该异常throws ,调用者可以不用进行处理,编译一样可以通过。

 

之所以不用在方法上声明,是因为不需要让调用者处理。

当该异常发生时,虚拟机希望程序停止。因为在程序运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修改。

3.      自定义异常类

自定义异常需要靠继承成为异常类。

通常主要继承Exception或者RuntimeException两个异常类。

例如:

Class MyException  extends   Exception {

MyException(String str){  // 构造函数

     super (str);

}

}

 

 


0 0
原创粉丝点击