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) {
}
我想知道这项建议的原因。 ?
答案 0 :(得分:2)
异常用于为错误提供一些意义,错误不会立即处理。
子类化RuntimeException
允许您提供更多含义并区分多个RuntimeExceptions
。
例如,能够区分IllegalArgumentException
和NumberFormatException
之间的区别很有用,它们都是RuntimeException
。
编辑:正如@Dyrborg所说,捕捉RuntimeException
也可能是危险的,因为任何事情都可能在你不知情的情况下抛出它。更好地处理你控制的东西。
<强> ASIDE:强>
你可以告诉我&#34;为什么不检查Exception
呢?&#34;。
我通常使用RuntimeException
s,因为它对应于方法的错误使用(例如非法参数)。这意味着程序员可以确保避免的事情。对于不可靠的用户输入或互联网连接,Exception
更合适,因为程序员必须处理这些错误情况。
答案 1 :(得分:1)
如果没有直接使用它,可以向我解释子类的原因如下。
适用于子类化任何其他异常的相同原因。该语言提供了捕获特定子类的工具,那么为什么不使用它?