【发布时间】:2016-02-21 19:28:33
【问题描述】:
我有一个 FileLock 类,用于检查和验证文件,以及一个方法 Validate
public class FileLock {
public static void Validate(String conf_file) throws IOException{
我的意图是每当遇到 IOException 时,它应该终止。
现在我有了测试类来测试这个。
public class Test{
public static void main(String[] args){
String conf_file = args[0];
FileLock.Validate(conf_file);
现在,这会在 FileLock.Validate(conf_file); 行出现编译时错误 Unhandled exception type IOException
如果我同时添加throws IOException 和main(),这个错误就会消失。这是为什么?最好的方法是什么?
【问题讨论】:
-
谢谢@JonSkeet,所以我应该在这里使用 try catch 块。不过,能否请您解释一下为什么我不能在静态方法中抛出异常?
-
您可以捕获异常 - 或声明
main可能会抛出相同的异常。这些是规则。如果您从我链接到的页面中没有得到那么多,我建议您再读一遍(并在您学习 Java 的任何书籍中查找“检查的异常”)。
标签: java exception static-methods ioexception