public class CheckEx {
public void check() throws IOException{};
public static void main(String[] args) {
new CheckEx().check();
}
}
问:第四行为什么会编译不通过呢,thanks
------解决方案--------------------
public static void main(String[] args)
这句应该也要网上抛异常
改成
- Java code
public static void main(String[] args) throws Exception
------解决方案--------------------
因为你没有异常处理!
两种办法,一种就是在main方法中抛出异常,
public static void main(String[] args) throws IOException {
new CheckEx().check();
}
另一种方法就是在main方法内捕获异常:
public static void main(String[] args) {
try{
new CheckEx().check();
}catch(IOException e){
e.printStackTrace();
}
}
------解决方案--------------------
方法既然抛出了异常,在调用时当然要捕获啊,也就是try,要不然你抛出有什么意义?
建议使用eclipse学习Java,会少走很多弯路,像这个错误,直接就会提示你了
------解决方案--------------------
为什么就不要写呢?难道main方法里就允许错误吗?
还有,方法后加了throws后,调用该方法必须try,这是语法规定!不要妄想推翻这个规定,这是语法要求,语法,就是用来记住的,除非以后自己开发一种语言,一切语法你来定
------解决方案--------------------
------解决方案--------------------
不想try,那么就把异常继续往上抛
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
最好在你调用相应抛出异常方法的地方去捕获这个异常。除了Runtime之外。
------解决方案--------------------