异常处理的方式二:throws+异常类型
1、“throws+异常类型”写在方法的声明处。指明此方法执行时,可能会抛出异常类型。一旦方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。异常后续的代码就不再执行
2、体会:try-catch-finally:真正的将异常处理掉了
throws+异常类型的方式只是将异常抛给了方法的调用者。并没有将真正的异常处理掉
3、开发中如何选择使用try-catch-finally还是使用throws+异常类型
3.1如果父类中被重写的方法没有throws+异常类型的方式处理异常,则子类重写的方法也不能使用throws+异常类型,意味着如果子类重写的方法中有异常,必须使用try-catch-finally方式处理
3.2执行的方法a中,先后又调用了另外几个方法,这几个方法时递进关系执行的,我们建议这几个方法使用throws+异常类型的方式进行处理。而执行方法a时可以考虑使用try-catch-finally方式进行处理
如何自定义异常类?
1、继承于现有的异常结构:RuntimeException、Exception
2、提供全局变量:serialVersionUID
3、提供重载的构造器
public class MyExpection extends RuntimeException{ //继承于现有的异常结构:
static final long serialVersionUID=-7034897193246939l; //提供全局变量:
public MyExpection(){ //提供重载的构造器
}
public MyExpection(String msg){
super(msg);
}
} 


