为什么java中的一些代码需要try catch语句?

时间:2015-04-21 11:04:36

标签: java file-io

例如:

FileWriter saveFile = new FileWriter("text.txt");

此代码显示错误:

Unhandled exception type IOException

这是什么意思?

2 个答案:

答案 0 :(得分:6)

Java有checked exception机制。

这意味着方法抛出的每个异常(不是RuntimeException)必须由内部方法处理,或者声明抛出它(在其声明中)。

在您的示例中,FileWriter的构造函数正在抛出IOException,因此您应该通过try-catch块在方法内部处理它,或者让您的方法的签名声明它可能扔掉它。

答案 1 :(得分:0)

Java编译器强制要求开发人员处理这些例外情况。需要适当地传播给调用者。 这些异常属于checked异常类别(编译时异常)。 使用try{...}catch{...}throws关键字时,这些类型的例外必须由开发人员处理。

Exception和任何不属于RuntimeException子类的子类都是经过检查的异常。访问java doc here