抛出异常

既然我们可以捕获到各种各样的异常,那么这些异常是在什么地方抛出的呢?

在编程过程中,我们往往会遇到这种情况,在当前环境中无法解决,比如用户传入的参数错误,IO设备问题等。此时,就要从当前环境中抛出异常提交给上级来处理。

Java语言中,使用throw关键字来抛出异常。来看以下代码

Code:
  1. public class A**Exception   
  2. {   
  3.               private String id;   
  4.                  
  5.               public void setID(String id)   
  6.              {   
  7.                           if(id.length() == 7)   
  8.                          {   
  9.                                  this.id = id;   
  10.                          }else  
  11.                         {   
  12.                                  throw new IllegalArgumentException("参数长度不是7位");   
  13.                         }   
  14.              }   
  15. }  

以上代码,我们就抛出了一个IllegalArgumentException类型的异常。

                                                             声明异常

如果在一个方法体中抛出了异常,我们就希望调用者能够去捕获异常。那么,如何通知调用者呢?

在JAVA语言中,通过throws关键字声明某个方法可能抛出的异常,以上代码中,我们抛出一个IllegalArgumentException类型的

异常。通过以下操作,就可以让调用者明白该方法有可能出现什么样的异常,要及时捕获!

Code:
  1. public class A**Exception   
  2. {   
  3.               private String id;   
  4.                  
  5.               //利用throws关键字声明该方法可能出现的异常   
  6.       public void setID(String id) throws IllegalException   
  7.              {   
  8.                            if(id.length() == 7)   
  9.                            {   
  10.                                  this.id = id;   
  11.                            }   
  12.                          else  
  13.                          {   
  14.                                   throw new IllegalArgumentException("参数长度应为7");   
  15.                          }     
  16.              }   
  17. }  
实际例子可以参考加密文章中的HexUtil
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值