JAVA静态代码块的异常,怎样才可以向上抛啊 JAVA静态代码块的异常,怎样才可以向上抛啊,急啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 大胆的抛,最后都会给main,main也可以抛给java运行时 在方法后面throws Exception就行了 啥不说,直接在main()后面throws Exception 直接在main()后面throws Exception确实是简化了操作,但是这是一种不负责的表现,当系统出现异常时你就找不到具体的异常位置了,所以不建议这样用的! 静态代码块中的异常原则上必须处理,不应该也不能再往上抛 原因:在类加载器,加载该类时,首先执行的就是static{}块中的代码, 如果static{}块中的异常没有处理,异常就会导致该类加载失败, 也就是说“该类夭折,不存在”,显然与其相关的操作肯定就不能执行当然了,如果你“不得不”向外抛可以这样写:(用InputStream举例,可根据你自己的代码修改一下) static{ try { InputStream inputStream = new FileInputStream("") ; } catch (FileNotFoundException e) { // 抛出 运行式异常 (这样写,实质上也应该算是处理了异常) throw new RuntimeException(e) ; } } Java 规定 静态块中不能抛出异常,如果内部语句出现异常,必须在静态块内处理 8楼正确!throw new java.lang.RuntimeException(); 静态代码块中可以抛出: throw new ExceptionInInitializerError(e); java 中时间刷新问题 一道Java代码题 scjp 异常的几个问题 filewriter输出时的一个问题 麻烦各位前辈帮我改一下这个程序,能够编译,但是具体输入一个数字,运行结果就会错!谢谢! 帮忙看一下,多谢 JAVA中接口和方法怎么看上去有些相同呀 JBuilder怎么和SQL Server连接呢? 高分求一算法,牛人请进 jTextField显示不下的时候,如何才能出现滚动条呢?100分奉送 private的访问权限问题 ibatis 1对多xml配置问题 通用接口 表明自动生成 求指教
原因:在类加载器,加载该类时,首先执行的就是static{}块中的代码,
如果static{}块中的异常没有处理,异常就会导致该类加载失败,
也就是说“该类夭折,不存在”,显然与其相关的操作肯定就不能执行当然了,如果你“不得不”向外抛可以这样写:(用InputStream举例,可根据你自己的代码修改一下)
static{
try {
InputStream inputStream = new FileInputStream("") ;
} catch (FileNotFoundException e) {
// 抛出 运行式异常 (这样写,实质上也应该算是处理了异常)
throw new RuntimeException(e) ;
}
}
throw new ExceptionInInitializerError(e);