使用throws抛出异常的思路:当前方法不知道如何处理这种类型的异常,该异常应该由上级调用者处理。(附:如果上级调用者也不知道如何处理这种
类型的异常,也可以使用throws声明抛出异常,该异常将交给JVM处理。JVM对异常的处理方法是,打印异常的跟踪栈信息,并终止程序的运行。)
例如:
//处理方法1:调用该方法时,使用try...catch...捕捉异常
public class Test {
public static void main(String[] args) {
try {
test();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void test() throws IOException{
//假设:
//方法此处会出现IOException(io异常)
//且当前方法不知如何处理该异常
//使用throws将异常抛出,由上级调用者处理该异常
}
}
//处理方法2:直接抛出异常,由JVM处理异常
public class Test {
public static void main(String[] args) throws IOException{
test();
}
public static void test() throws IOException{
//假设:
//方法此处会出现IOException(io异常)
//且当前方法不知如何处理该异常
//使用throws将异常抛出,由上级调用者处理该异常
}
}
相关文章
- 09-14使用OKHTTP3发送HTTPS请求时,抛出异常:Server chose TLSv1, but that protocol version is not enabled or not support
- 09-14swif-throws异常抛出
- 09-14使用visual studio 2015调用阿里云oss .net sdk 2.2的putobject接口抛出outofmemory异常
- 09-14处理异步异常(使用promise的reject抛出错误,用await接收)
- 09-14异常的使用方法(throw和throws)
- 09-14使用throw抛出一个异常NumberFormatException
- 09-14使用Ehcache缓存同步启动时抛出异常net.sf.ehcache.CacheException: Can't assign requested address
- 09-14使用Servlet3.0新特性asyncSupported=true时抛异常java.lang.IllegalStateException: Not supported
- 09-14JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)
- 09-14java – 何时为构造函数抛出异常