3 回答

TA贡献1818条经验 获得超11个赞
使您的自定义异常从Throwable层次结构中扩展某些内容。
例如
// Exception here is java.lang.Exception, not the class from your example
public class MyException extends Exception {
// ...
}

TA贡献1845条经验 获得超8个赞
Exception 类及其子类是 Throwable 的一种形式,它指示合理的应用程序可能想要捕获的条件。
在大多数情况下,您的例外情况将是以下之一:
算术异常
ArrayIndexOutOfBoundException
类未找到异常
IO异常
NoSuchMethodException ...
Error 是 Throwable 的一个子类,它指示合理的应用程序不应尝试捕获的严重问题。
这两个Exception和Error是的子类Throwable。
如果您不仅需要捕获Exceptions但是Errors,您应该使用Throwable. 但:
大多数此类错误是异常情况。ThreadDeath 错误虽然是“正常”情况,但也是 Error 的一个子类,因为大多数应用程序不应该尝试捕获它。
如果你想捕捉像ThreadDeath错误这样的事情,你可以使用 Throwable。这可能是一种非常罕见的情况。
在您的示例中,如果您只想检查数字,则可以使用以下内容:
public static void check(int pDen, int pMes, int kDen, int kMes) {
if (pMes > kMes) {
throw new IllegalArgumentException ("Your message.....");
} else if (pMes == kMes) {
if (pDen > kDen) {
throw new IllegalArgumentException ("Your message.....");
}
}
}

TA贡献1836条经验 获得超3个赞
请忽略建议您实现自己的Exception
类的答案。Java 有它自己的:java.lang.Exception
. 只需使用它,并在需要时扩展它。拥有自己的Throwable
. 但不是从标准扩展的Exception
情况非常罕见。
添加回答
举报