- throw的对象就是被catch的对象,是同一个东西
- catch,匹配类型包括父类
![]()
import java.io.IOException;
import java.math.BigDecimal;
public class Test extends Object {
/**
* 可能会存在异常的方法
*
* @param param1
* @throws MyException
*/
static void test(int param1) throws MyException,IOException {
System.out.println("传递的参数为: " + param1);
if (param1 > 10) {
//抛出
MyException e = new MyException("我是异常信息");
throw e;
}
System.out.println("OK");
}
public static void main(String[] args) {
try {
int param2 = 11;
Test.test(param2);
System.out.println("我这里还有代码要执行,但不会执行");
} catch (IOException a) {
System.out.println("MyException=>" + a);
} catch (Exception qwe) {
// 凡是非String类的对象,要转化成String类的时候,都会调用toString()
System.out.println("MyException==>" + qwe.toString());
}
//自定义的异常类
public class MyException extends Exception {
//异常信息
private String detail;
// 构造函数
public MyException(String detail) {
this.detail = detail;
}
// toString:异常的打印信息
@Override
public String toString() {
return "MyException{" +
"detail='" + detail + '\'' +
'}';
}
}