0

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

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

在我的作业描述中,它说要确保您的方法捕获任何违反的先决条件,并抛出带有信息性错误的 RuntimeException。

我不知道如何实现这一点 - 我不是在这里寻找语法,而只是如何设置这样的东西,因为我不完全了解 RuntimeException 的工作原理或方法的先决条件。我怎么能实现一个?

4

2 回答 2

5

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

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
}

这可以保护该方法的其余部分免于尝试在它从未打算用于的情况下运行。

于 2013-02-20T22:54:10.777 回答
1

我认为您需要在实施之前阅读一些文章来提高您的专业知识水平,这是更进一步的步骤。首先你可以研究一下Throwable类,它是 Java 中所有错误和异常的超类。你也可以检查这个问题

然后需要访问异常。Oracle 教程详细介绍了运行时处理。或者您也可以查看这篇文章,该文章将标题说明为现实生活中的示例。

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

可投掷的家庭

于 2013-02-20T23:16:37.597 回答