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
标签:index,arr,java,自定义,角标,FuShuIndexException,异常 来源: https://www.cnblogs.com/doremi429/p/15505905.html