小弟刚学java,看到异常中的throws语句后就被挡住了。我始终看不懂 throws 语句的作用是什么,故更搞不懂什么时候用,怎么用。而书上的例子都千篇一律的举下面的例子:import java.io.*;class test_throws
{
public static void main(String args[]) throws IOException //书上的例子都在这里打主意,始终搞不懂
{
....
}
}大家能不能帮我举一个另外类型的例子,比如 a=2/0 这些简单直白的例子说明 throws 语句的作用以及用法?谢谢!
main方法并没有处理该异常,而是把它丢出去由调用它的人来处理(也就是给jvm处理)
try{
//做老板给你的事情
} catch(你能处理的Exception e){
//处理你能解决的问题
} finally {
//不管问题有没有发生, 都要处理的工作
}
}
void getInt() throws Exception{
int i = 2/0;
}
void getEx(){
try{getInt();}catch(Exception e){e.printStackTrace();}
}
4楼正解,不过可以再直观一点:
void getInt() throws Exception{
try{
int i = 2/0;
}
catch(Exception e){ }
}
...............................................................
能举一下例子,哪些是无法捕获的异常??
到API看一下,它的派生类有很多很多,如ClassNotFoundException, AlreadyBoundException, ApplicationException, AWTException等等等等那么一个方法中的所有catch(异常类型参数)
如果只有ClassNotFoundException,AWTException这两个,那么其他的异常它就没有捕获,那么就必须throws了而Exceptio类的异常是一个"总"的异常,它可以包括所有种类的异常...
try catch finally和throw不是在一个方法里的
throw用来抛出异常,throw所在的方法要写throws Exception,但是这个方法里就不会用try catch了try catch所在的方法一定是try中有用到有throws Exception的方法的!这个要记住。而且,有throws Exception的方法被调用,不放到try中编译器会报错的
把主方法产生的异常抛给JVM,不用我们处理了,这么做简单,但不可控
int i = 2/0;
当然是用来产生异常了
例:
public void f() throws SQLException {
...
}
在其他地方调用这个方法时可以扑捉异常
....
try {
f();
} catch (SQLException e) {
...
}