问题描述
是否存在一种系统独立的方式来检测IOException
何时与“设备上没有空间”错误相关?
IOException
没有方法。
如果不解释用户原因,我应该将其视为通用I / O错误吗?
或者我应该只是向用户显示异常消息字符串(这可能是太技术性的)?
1楼
Java与其他语言(如 ,它不会跟踪IOException
的原因,但它使用子类来更好地指定异常的动机,例如是IOException
的子类。
通常最好指定最常见子级的原因,并在IOException
的错误消息前面加上通用描述以方便用户。
try {
...
} catch (FileNotFoundException e) {
System.out.println("File not found: " + e.getMessage());
} catch (.. other subclasses ..) {
...
} catch (IOException e) { // anything else
System.out.println("I/O Exception: " + e.getMessage());
e.printStackTrace();
}
2楼
作为异常处理的一部分,您可以使用类提供的这些方法检查可用磁盘空间:
public long getTotalSpace()
public long getFreeSpace()
public long getUsableSpace()
可以在此相关问题中找到更多详细信息: