Java RuntimeException

时间:2013-02-20 22:50:40

标签: java validation methods

我无法理解RuntimeException的工作原理。我在谷歌搜索过。

我想使用的应用程序是一个收银机程序,只模拟两个收银机工作。我将使用两个类:一个使用输入和输出,另一个使用我的所有方法等。

在我的赋值描述中,它说要确保你的方法捕获任何违反的前提条件,并且抛出一个带有信息性错误的RuntimeException。

我不确定如何实现这一点 - 我不是在这里寻找语法,而是如何设置这样的东西,因为我没有完全理解RuntimeException如何工作或方法的前提条件甚至是。我怎么能实现一个?

2 个答案:

答案 0 :(得分:5)

在方法正确执行之前,前提条件是您的方法文档必须为真。例如,您可以有一个前提条件,即参数必须为正数。 (另一个例子是对象必须处于某种状态。)

RuntimeExceptionException的子类,其特殊之处在于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,它将标题说明为现实生活中的例子。

此外,关于错误和异常层次结构,此图形使其更易于理解:

Throwable Family