当前位置:编程学习 > JAVA >>

throws 抛出异常,这样写什么意思?

public static void main(String args[])
throws FileNotFoundException,IOException
{

}
throws 抛出异常,这样写什么意思?

来自java程序设计实例与操作,第156页
--------------------编程问答-------------------- 就是把出现的异常向上一层抛出,这一次如果检测到异常不处理。
不过你这已经是main方法了,直接就抛出虚拟机了。
也就是说你这程序出现 FileNotFoundException,IOException这两种异常将不做反应 --------------------编程问答--------------------
引用 1 楼 AA5279AA 的回复:
就是把出现的异常向上一层抛出,这一次如果检测到异常不处理。
不过你这已经是main方法了,直接就抛出虚拟机了。
也就是说你这程序出现 FileNotFoundException,IOException这两种异常将不做反应


+1 --------------------编程问答-------------------- 抛出一个异常给调用者。

当一直到main函数的时候,就抛给虚拟机了。

下面的例子,是 fun2发生了错误,但是是fun1进行的栈错误记录 和 报错。



import java.io.*;
import javax.swing.*;
public class ExceptionTest 
{
void fun1()
{
//do somegthing....
try
{
fun2();
}
catch (Exception e)
{
//这里记录日志,提交事务
e.printStackTrace();
//这里向客户端报错。
JOptionPane.showMessageDialog(null,"TMD 脑残指定的文件不存在..."+e.getMessage());
}
}

void fun2() throws Exception  
{
FileInputStream fi = new FileInputStream("c:/abcdfeg.txt");

/*
try
{
FileInputStream fi = new FileInputStream("c:/abcdfeg.txt");
}
catch (Exception e)
{
//这里记录日志
e.printStackTrace();
//通过这里吧异常抛出
throw e;
}
*/
}



public static void main(String[] args) 
{
new ExceptionTest().fun1();
System.out.println("Hello World!");
}
}


--------------------编程问答-------------------- 在main函数里抛出异常没什么意思,这样你就不能处理异常了。 --------------------编程问答-------------------- 被你们误导了。throws是异常转移,throw才是异常抛出。异常转移的作用是将原来在函数内部执行的异常处理操作,转换到函数的调用位置。 --------------------编程问答-------------------- LZ,抛出的是文件找不的异常,IO流的~ --------------------编程问答-------------------- 这只是一个方法签名,并没有要求你必须丢出该异常。它的作用是告诉它的调用者它有可能丢什么异常。编译器会检测调用者是否包含catch块处理即便是可能被抛出的异常(除了RuntimeException),或者在方法签名中有同样的异常,或该异常的父类。
main的throws没有意义了,一般是被逼的。所谓被逼,就是调用了带有throws签名的函数但是不想处理,那就只能加上该签名让它的调用者处理。 --------------------编程问答-------------------- 向上一层抛出,直到JVM,这样写比较省事.

另外一种方法就是用try/catch捕捉. --------------------编程问答-------------------- 就是说你所涉及的代码可能存在这样那样的风险或者隐患,FileNotFoundException,IOException 分别是文件未找到异常和IO流异常  就是加强代码的健壮性
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,