我目前正在尝试在BlueJ中完成一个项目。我有一个ReadWrite
类和一个InvalidFileException
类。调用自定义异常类
我想从InvalidFileException
类中调用toString()
方法到writeToFile()
方法中的ReadWrite
类。
readWrite只能处理以.txt
结尾的文件。一旦布尔值完成并找到一个文件不会在.txt
结束它应该返回我的自定义异常类。
如果文件类型存在,writeToFile
方法将检查布尔值;如果没有,它应该返回我创建的InvalidFileException
。
我相信我需要在else语句后调用它,但是我没有计算出它的运气。
这是我的代码。
读写类:
public boolean writeToFile() {
boolean ok;
try {
FileWriter writer = new FileWriter(file);
{
if (file.toLowerCase().endsWith(".txt")) {
ok = true;
write();
} else {
ok = false;
}
}
} catch (IOException e) {
ok = false;
}
}
InvalidFileExceptionClass *****
import java.io.FileNotFoundException;
public class InvalidFileException extends Exception {
/**
* Constructor for objects of class InvalidFileException
*/
public InvalidFileException(String message) {
super(message);
}
public String toString() {
return ("Sorry but this system only accepts .txt files");
}
}
请编辑您的问题。我不确定你在这里问什么。 – spectacularbob
替换第一个ok = false用throw new YourException(“your message”);不需要定义toString()你可以使用你捕获的异常的getMessage函数 – hsnkhrmn
对不起,我已经编辑了我的问题,方法应该确保要写入的文件以文件扩展名 “.txt”结尾。如果没有,我的“InvalidFileException”应该被抛出。我希望这是有道理的 –