public class ExceptionDemo {
public static void main(String[] args) {
try {
System.out.println(divide(10, 0));
} catch (DivisionByZeroException e) {
e.printStackTrace();
}
}
public static int divide(int a, int b) throws DivisionByZeroException {
if (b != 0) {
return a / b;
} else {
throw new DivisionByZeroException("can't divide zero");
}
}
}
class DivisionByZeroException extends Exception {
public DivisionByZeroException(String message) {
super(message);
}
}
上面是一个异常系统的简单的例子,抛出用Throw 捕获用Catch
try块抛出的异常对象必须是对应catch括号里异常类或其子类的实例。你例子中抛出的数组下标越界异常对象不是testMy类的对象,也不是子类对象。
不可以,因为不能抛出新的异常,只能抛负累以下的