【发布时间】:2019-02-10 17:50:07
【问题描述】:
我是编码新手,对java也很陌生,所以请多多包涵,对不起。
我的教授说我们需要使用以下代码作为我们作业的一部分。我查看了课堂上的所有笔记,但在 try-catch 中找不到任何内容,我不确定应该在插入代码部分中输入什么或错误消息的含义
我很抱歉,我只是很困惑。我不断得到 “FileNotFoundException 的无法到达的 catch 块。这个异常永远不会从 try 语句体中抛出” 我不知道如何解决它
try
{
File file = new File( args [ 0 ] );
Scanner scanner = new Scanner( file );
//insert code
scanner.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
编辑:在我尝试对文本文件进行硬编码以进行测试之前,我在修复它之后没有再次收到该错误。
try
{
File file = new File( args [ 0 ] );
Scanner scanner = new Scanner("cat.txt");
//insert code
scanner.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
我再次收到“FileNotFoundException 无法到达的 catch 块。这个异常永远不会从 try 语句体中抛出”
我应该在 try 语句中添加什么?我很迷茫
【问题讨论】:
-
您的
Scanner声明中缺少分号。 -
您列出的错误绝对不是您引用的代码引起的。
FileNotFoundException确实是由new Scanner(File)抛出的。您引用的代码不会因为 不同 的原因编译(在new Scanner(file)之后缺少;),但不是因为该块没有抛出FileNotFoundException。也许你有一个不同的块,你没有展示它的代码永远不会抛出异常......? -
你好,我编辑了它,我不再有那个错误,但是现在当我运行我的代码时,我得到“线程中的异常”main”java.lang.ArrayIndexOutOfBoundsException:索引 0 超出范围在模板中长度为 0.SentenceUtilsTest.main(SentenceUtilsTest.java:26)"
-
在执行代码时需要将文件名或路径作为 JVM 参数传递。例如java Myclass .
标签: java try-catch filenotfoundexception