hhh*_*hhh 13 java error-handling exception class
我有课程DirReader和搜索.搜索使用DirReader.我希望搜索知道DirReader何时抛出异常.那我怎么能让课程抛出异常呢?
目前,我使用initCorrect -dummy var.异常风格的方法可能更合适.
简化示例错误
$ javac ExceptionStatic.java
ExceptionStatic.java:4: '{' expected
public class ExceptionStatic throws Exception{
^
1 error
Run Code Online (Sandbox Code Playgroud)
码
import java.util.*;
import java.io.*;
// THIS PART NEEDS TO BE FIXED:
public class ExceptionStatic throws Exception{
private static boolean initCorrect = false;
public static String hello;
static{
try{
hello = "hallo";
//some other conditionals in real code
if( true) throw new Exception();
initCorrect=true;
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
if(initCorrect)
System.out.println(hello);
}
}
Run Code Online (Sandbox Code Playgroud)
类初始化程序(“静态块”)因检查到的异常而终止是编译时错误。
如果类初始化程序引发未经检查的异常,则首次尝试初始化类将引发ExceptionInInitializeError。随后使用该类的任何尝试都会导致NoClassDefFoundError。如果您确实要使用异常,请RuntimeException在初始化程序中抛出类似a 的内容。
但是,问题中显示的方法(在正确初始化类时设置标志)实际上可能是许多应用程序的更好选择。更具体地说,我要说的是,除非您希望整个程序在初始化失败时终止,否则请使用标志。只需从类声明中删除“ throws”子句,因为这不是合法的语法。
| 归档时间: |
|
| 查看次数: |
53187 次 |
| 最近记录: |