Java教程

java-异常-自定义异常异常类的抛出throws

本文主要是介绍java-异常-自定义异常异常类的抛出throws,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
 1 package p1.exception;
 2 /*
 3  * 对于角标是整数不存在,可以用角标越界表示,
 4  * 对于负数为角标的情况,准备用负数角标异常来表示。
 5  * 
 6  * 负数角标这种异常在java中并没有定义过。
 7  * 那就按照java异常的创建思想,面向对象,将负数角标进行自定义描述。并封装成对象
 8  * 
 9  * 这种自定义的问题描述成为自定义异常。
10  * 
11  * 注意:如果让一个类称为异常类,必须要继承异常体系,因为只有称为异常体系的子类才有资格具有可抛性。
12  *         才可以被两个关键字所操作,throws throw
13  * 
14  * 
15  */
16 
17 class FuShuIndexException extends Exception{
18     public FuShuIndexException() {
19         // TODO Auto-generated constructor stub
20     }
21     
22     FuShuIndexException(String msg){
23         super(msg);
24     }
25 }
26 class Demo {
27     public static int method(int[] arr,int index) throws FuShuIndexException {
28         
29 //        System.out.println(arr[index]);
30         if (arr == null) {
31             throw new NullPointerException("数组的引用不能为空");
32         }
33         if (index>=arr.length) {
34             throw new ArrayIndexOutOfBoundsException("数组的角标越界"+index);
35             
36         }
37         if (index<0) {
38             throw new FuShuIndexException("角标变成负数了");
39         }
40         return arr[index];
41     }
42 
43 }
44 
45 public class ExceptionDemo3 {
46 
47     public static void main(String[] args) throws FuShuIndexException{
48         // TODO Auto-generated method stub
49         int[] arr = new int[3];
50 //        System.out.println(arr[3]);
51         
52         Demo d = new Demo();
53         int num = d.method(arr,-30);
54         System.out.println("num="+num);
55         System.out.println("over");
56         
57     }
58     
59 }
ExceptionDemo3

 

这篇关于java-异常-自定义异常异常类的抛出throws的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!