java - 在 Java 中抛出简单异常

标签 java exception

我想学习如何在 Java 中抛出一个 super 简单的异常。我有以下内容:

public Percolation(int N) // create N-by-N grid, with all sites blocked
{
    if(N < 1)
        throw new Exception("N must be greater than zero.");

    grid = new boolean[N * N + 2];
    dimension = N;
    grid[0] = true;
    grid[N+1] = true;       
    unionStruct = new QuickFindUF(N+2);
}

这不是编译,但这是我想要做的事情。执行此操作的正确语法是什么?

最佳答案

这是因为您抛出了一个已检查的异常而没有声明您抛出的异常。在您的情况下,您可能应该抛出一个派生自 RuntimeException 的异常,并且不会检查这些异常(这意味着您不必声明它们)。所以解决这个问题的两种方法是

throw new IllegalArgumentException("N must be greater than zero."); // unchecked

public Percolation(int N) throws Exception

关于java - 在 Java 中抛出简单异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4917351/

相关文章:

c++ - 如何使用 gdb 在 C++ 中获取当前异常的值和类型?

c++ - ~A(){} 和 ~A() throw(){} 有什么区别,其中 A 是类名?

c# - 不支持 sta 线程上多个句柄的 waitall

ruby-on-rails - after_filter 异常

java - 检查方法参数是否为空?

c# - 你如何强制VS让你处理异常?

javascript - JxBrowser 从资源 URL 加载 HTML,无法打开 websocket

java - Liferay 登录如何工作?

c# - 风格上的差异 : IDictionary vs Dictionary

java - 未执行 JUNIT Netbeans 8.2 测试