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

https://stackoverflow.com/questions/14991437
复制相似问题