我试图在我的方法中尝试捕获错误,将更改抽屉的内容写入html文档。当文件不存在时,将出现错误java.io.FileNotFoundException。下面的代码应该这样做,但它会出现错误“PartB是一个不兼容的类型”。我认为我的尝试和捕获代码有一个错误,这是我写的第一个,我不知道为什么它不起作用。任何帮助都会很棒。三江源。
...
public static void writeHtmlFile()
{
try {
BufferedReader in = new BufferedReader((new FileReader("changedrawer.html")));
String sLine;
StringBuilder sb = new StringBuilder();
while ((sLine = in.readLine()) !=null)
sb.append(sLine+"\n");
//Close file
in.close();
//Output on console
System.out.println(sb.toString());
}
catch (PartB FileNotFoundException) //Why is PartB an incompatible type? (PartB is the name
of the class)
{ System.out.println ("error");
}
...
答案 0 :(得分:1)
您需要将其写为FileNotFoundException PartB
,而不是PartB FileNotFoundException
,因为FileNotFoundException
是类型。
答案 1 :(得分:1)
简单的“catch”子句的语法大致如下:
} catch (<exception-type> <identifier>) {
<optional-statements>
}
<exception-type>
是您尝试捕获的异常的名称,<identifier>
是您声明要保存异常的本地变量的名称 instance 你刚抓到的。
在你的事业中,它应该是这样的:
catch (FileNotFoundExceptio ex) {
System.out.println ("error");
}
...虽然我建议提供更详细的错误消息!
(注意你必须声明一个本地标识符,即使你不打算使用它。但它只有几个字符,特别是如果你使用传统名称e
或{{1} }。)
答案 2 :(得分:0)
您声明一个异常,就像声明任何对象或变量一样:
Exception_Type identifier