我是编程世界的新手。我正在上第六节课,我们受命使用File实例创建一个新文件。编译时出现io异常。我在网上搜索过,但似乎找不到可以理解的解释。
请多多包涵,但我的代码是:
import java.io.File;
public class TestFile{
public static void main(String[] args) {
File myArchive = new File("MyDocument.txt");
boolean x = myArchive.createNewFile();
System.out.println(x);
}
}
据我了解,如果创建了文件,createNewFile()
将提供一个true
值,但是我不断收到以下消息。
TestFile.java:5:错误:未报告的异常IOException;一定是 被抓或拒绝扔 布尔值x = myArchive.createNewFile(); ^ 1个错误
根据我在网上收集的信息,有一个例外需要捕获。讲师没有建议如何处理代码异常或与命令try
或catch
有关的任何事情。
非常感谢您的协助。如果我不遵守任何论坛的指南,请告诉我,这是我的第一篇文章,并且我还是编程新手。
答案 0 :(得分:2)
在java
中,您将获得许多Exceptions
,并且必须使用try..catch
块来处理它。
try{
//code that may throw exception
}catch(Exception_class_Name ref){}
此外,您还必须在try块之外定义boolean x
,并且应将其初始化为某个值(是或否)。
尝试此代码:-
import java.io.File;
public class Main {
public static void main(String[] args) {
File myArchive = new File("MyDocument.txt");
boolean x = true;
try {
x = myArchive.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(x);
}
}
输出:-
true
答案 1 :(得分:1)
仅是尝试捕捉的介绍及其用途:
某些操作可能会产生错误,甚至可能不是程序员的错误,但是可能由于不可预见的情况而发生。
例如,您想创建一个文件,但是此刻,文件目的地可能不存在(例如,取出了USB记忆棒),或者光盘可能已满,或者文件名不可能(已提供)由另一个用户通过键盘包含“禁止的”字符),或者可能未授予许可(例如,在Android中,当您的手机请求写入文件的许可时,您可以授予该许可,或者出于安全考虑而拒绝授予该许可)。
在这种情况下,Java为您提供了尝试容易出错的代码,然后捕获错误的机会。如果发生错误,则不希望您的应用崩溃。您希望它继续继续工作,因此您可以在屏幕上警告用户文件操作失败,并提供其他操作。
因此,基本上,您需要执行以下操作
try{
// place a risky part of code here
// like, creating a file
} catch (Exception error)
{
// This part will be executed only if there is an error
// in this part, you can change the wrong file name
// or tell the user that the disc is not available
// just do something about the error.
// If an error does not occur, then this part will not be executed.
}
答案 2 :(得分:0)
try {
boolean x = myArchive.createNewFile();
System.out.println(x);
} catch (IOException e) {
e.printStackTrace();
}
try块包含可能发生异常的语句集。在try块之后始终是catch块,该catch块处理关联的try块中发生的异常