我无法理解 RuntimeException 的工作原理。我已经通过谷歌搜索。
我想使用的应用程序是一个收银机程序,它只模拟两个收银机工作。我将使用两个类:一个用于输入和输出,另一个用于我的所有方法等。
在我的作业描述中,它说要确保您的方法捕获任何违反的先决条件,并抛出带有信息性错误的 RuntimeException。
我不知道如何实现这一点 - 我不是在这里寻找语法,而只是如何设置这样的东西,因为我不完全了解 RuntimeException 的工作原理或方法的先决条件。我怎么能实现一个?
我无法理解 RuntimeException 的工作原理。我已经通过谷歌搜索。
我想使用的应用程序是一个收银机程序,它只模拟两个收银机工作。我将使用两个类:一个用于输入和输出,另一个用于我的所有方法等。
在我的作业描述中,它说要确保您的方法捕获任何违反的先决条件,并抛出带有信息性错误的 RuntimeException。
我不知道如何实现这一点 - 我不是在这里寻找语法,而只是如何设置这样的东西,因为我不完全了解 RuntimeException 的工作原理或方法的先决条件。我怎么能实现一个?
先决条件是您的方法文档必须为真,然后方法才能正确执行。例如,您可以有一个前提条件,即参数必须是肯定的。(另一个例子是对象必须处于某种状态。)
RuntimeException是一个子类,Exception其特殊之处在于未检查RuntimeException类型(及其子类)的异常- 您无需声明将它们作为方法签名的一部分抛出。a 的一个例子是。RuntimeExceptionIllegalArgumentException
因此,如果我们有一个仅在使用正数调用时才有效的方法,您可能有:
public void foo(int x) {
if (x <= 0) {
throw new IllegalArgumentException("x must be positive");
}
// Rest of the code here
}
这可以保护该方法的其余部分免于尝试在它从未打算用于的情况下运行。