www.updatesofts.com
!
"
+
&
Chương trình 7.3 minh họa ngoại lệ được định nghĩa bởi người dùng ‘ArraySizeException’:
Chương trình 7.3
class ArraySizeException extends NegativeArraySizeException
{
ArraySizeException() // constructor
{
super(“You have passed an illegal array size”);
}
}
class ThrowDemo
{
int size, array[];
ThrowDemo(int s)
{
size=s;
try
{
checkSize();
}
catch(ArraySizeException e)
{
System.out.println(e);
}
}
void checkSize() throws ArraySizeException
{
if (size < 0)
throw new ArraySizeException();
else
System.out.println(“The array size is ok.”);
array = new int[3];
for (int i=0; i<3; i++)
array[i] = i+1;
}
public static void main(String arg[])
{
new ThrowDemo(Integer.parseInt(arg[0]));
}
}
Lớp được định nghĩa bởi người dùng ‘ArraySizeException’ là lớp con của lớp
‘NegativeArraySizeException’. Khi một đối tượng được tạo từ lớp này, thông báo về ngoại
lệ được in ra. Phương thức ‘checkSize()’ được gọi để chặn ngoại lệ ‘ArraySizeException’ mà
được chỉ ra bởi mệnh đề ‘throws’. Kích thước của mảng được kiểm tra trong cấu trúc ‘if’.
Nếu kích thước là số âm thì đối tượng của lớp ‘ArraySizeException’ được tạo. Phương thức
‘call()’ được bao quanh trong khối ‘try-catch’, là nơi mà giá trị của đối tượng được in ra.