我在一个类中使用BufferedReader从文件读取。我试图在初始化块中初始化这个。初始化程序块能否抛出异常?
class ReadFromFile
{
BufferedReader br;
{
br = new BufferedReader(new FileReader(new File("file.txt")));
}
}
行在初始化程序块中抛出FileNotFoundException
异常。所以,编译器会给出错误。我不想用try-catch块来包围它。
class ReadFromFile
{
BufferedReader br;
public ReadFromFile() throws FileNotFoundException
{
br = new BufferedReader(new FileReader(new File("file.txt")));
}
}
但还是想知道是否有任何方式引发异常出初始化块的没有得到编译错误:我用的构造函数,而不是初始化块样解决了这个问题。谢谢:)
+1 RuntimeExceptions或Errors,因为它们没有被选中。 –
我不明白你如何阅读一个问题,写一个答案,并从规范中找到重要的引用,并在发布问题的同一分钟内做所有事情...... +1 – noone
@noone Jon的练习多于大多数,永远不会少...;) –