Java Runtime Exception用于检查未检查的异常。子类JavaRunTimeException是公认的标准。您能否在不直接使用它的情况下解释子分类的原因?
try {
int x = Integer.parseInt(args[0])/Integer.parseInt(args[0]);
} catch (RuntimeException e) {
}
推荐方法
public class ServiceFaultException extends RuntimeException {}
try {
int x = Integer.parseInt(args[0])/Integer.parseInt(args[0]);
} catch (ServiceFaultException e) {
}
我想知道这项建议的原因。 ?
最佳答案
异常用于赋予未立即处理的错误某种意义。
子类化RuntimeException
允许您赋予更多含义并区分几个RuntimeExceptions
。
例如,能够区分IllegalArgumentException
和NumberFormatException
都是有用的。
编辑:正如@Dyrborg所说,捕获RuntimeException
也可能很危险,因为任何事情都可能在您不知情的情况下将其抛出。更好地只处理您控制的内容。
在旁边:
您可以告诉我“为什么不选中RuntimeException
?”。
我通常在Exception
对应于错误使用方法(例如非法参数)时使用。这意味着程序员可以确保避免的事情。当涉及到用户输入或不可靠的Internet连接时,RuntimeException
更为合适,因为程序员必须处理这些错误情况。
关于java - 为什么使用Java Runtime-未经检查的异常需要子类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22539525/