静态代码块中的异常原则上必须处理,不应该也不能再往上抛 原因:在类加载器,加载该类时,首先执行的就是static{}块中的代码, 如果static{}块中的异常没有处理,异常就会导致该类加载失败, 也就是说“该类夭折,不存在”,显然与其相关的操作肯定就不能执行 当然了,如果你“不得不”向外抛可以这样写:(用InputStream举例,可根据你自己的代码修改一下) static{ try { InputStream inputStream = new FileInputStream("") ; } catch (FileNotFoundException e) { // 抛出 运行式异常 (这样写,实质上也应该算是处理了异常) throw new RuntimeException(e) ; } }
62,634
社区成员
307,269
社区内容
加载中
试试用AI创作助手写篇文章吧