抛出异常有三种形式,
一是throw一个throws,还有一种系统自动抛异常。
下面它们之间的异同。
系统抛出异常
public static void main(String[] args) {
int a=4,b=0;
System.out.println(a/b);
}
运行结果:
throws异常 (throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常))
public static void main(String[] args) throws Exception {
int a=4,b=0;
try {
System.out.println(a/b);
}catch(Exception e) {
throw new NumberFormatException();
}
}
运行结果:
throw异常 (throw是语句抛出一个异常,一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常)
public static void main(String[] args) {
String s = "abc";
if(s.equals("abc")) {
throw new NumberFormatException();
} else {
System.out.println(s);
}
}
运行结果: