我无法理解RuntimeException的工作原理。我在谷歌搜索过。
我想使用的应用程序是一个收银机程序,只模拟两个收银机工作。我将使用两个类:一个使用输入和输出,另一个使用我的所有方法等。
在我的赋值描述中,它说要确保你的方法捕获任何违反的前提条件,并且抛出一个带有信息性错误的RuntimeException。
我不确定如何实现这一点 - 我不是在这里寻找语法,而是如何设置这样的东西,因为我没有完全理解RuntimeException如何工作或方法的前提条件甚至是。我怎么能实现一个?
答案 0 :(得分:5)
在方法正确执行之前,前提条件是您的方法文档必须为真。例如,您可以有一个前提条件,即参数必须为正数。 (另一个例子是对象必须处于某种状态。)
RuntimeException
是Exception
的子类,其特殊之处在于RuntimeException
(及其子类)的异常未选中 - 您不需要声明你将它们作为方法签名的一部分抛出。 RuntimeException
的一个示例是IllegalArgumentException
。
因此,如果我们有一个仅工作的方法,如果用正数调用它,你可能会:
public void foo(int x) {
if (x <= 0) {
throw new IllegalArgumentException("x must be positive");
}
// Rest of the code here
}
这可以保护方法的其余部分不会尝试在从未打算过的情况下运行。
答案 1 :(得分:1)
我认为您需要在实施之前阅读一些文章来提高您的专业知识水平,这是更进一步的步骤。首先,您可以研究Throwable类,它是Java中所有错误和异常的超类。您也可以查看this question。
然后需要访问Exceptions。 Oracle教程详细介绍了run-time handling。或者你也可以查看this article,它将标题说明为现实生活中的例子。
此外,关于错误和异常层次结构,此图形使其更易于理解: