import java.util.*;
class ArrayOverflowException extends Exception{
ArrayOverflowException(){
super();
}
static int i;
static void check(int i) throws ArrayOverflowException{
if (i>5) {
throw new ArrayOverflowException("Array Overflow");
return;
}
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int a[]=new int[5];
System.out.println("Enter the elemets of the array. #MAX 6 ELEMENTS#");
try{
for (int i=0;i<10;i++) {
ArrayOverflowException.check(i);
a[i]=input.nextInt();
}
}catch (ArrayOverflowException e) {
System.out.println("Exception handled"+e);
}
}
}
我一直在尝试在Java中创建自己的用户定义的异常,它会产生错误cannot find symbol in line 9
。请帮忙。
第9行抛出新的ArrayOverflowException(“Array Overflow”);
答案 0 :(得分:2)
1)使用字符串参数
添加构造函数ArrayOverflowException(String message){
super(message);
}
2)删除return,它是无法访问的代码
return;
还要检查是否要检查i或用户输入的值?
答案 1 :(得分:1)
这里有两个问题:
您需要创建一个接受String
参数的构造函数:
ArrayOverflowException(String message) {
super(message);
}
return
之后你不能throw
,因为它会立即跳转到最近的catch
块,在这种情况下,它不在方法之内。