Java RuntimeException

bin*_*mer 0 java validation methods

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

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

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

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

Jon*_*eet 5

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

RuntimeException是一个子类,Exception其特殊之处在于未取消选中类型RuntimeException(及其子类)的异常- 您不需要声明将它们作为方法签名的一部分抛出.一个例子是.RuntimeExceptionIllegalArgumentException

因此,如果我们有一个只有在使用正数调用时才能工作的方法,您可能会:

public void foo(int x) {
    if (x <= 0) {
        throw new IllegalArgumentException("x must be positive");
    }
    // Rest of the code here
}
Run Code Online (Sandbox Code Playgroud)

这可以保护方法的其余部分不会尝试在从未打算过的情况下运行.