我刚开始学习Java而且我想做一个例外,但我不明白为什么我应该将它命名为static class
而不仅仅是class
- 否则它将无法编译。有人能解释一下吗?
public class Test
{
class NrTooSmall extends Exception
{
}
public static void main(String[] args) throws NrTooSmall
{
int n = 0;
try
{
n = Integer.parseInt(args[0]);
if (n < 0)
throw new NrTooSmall();
....
答案 0 :(得分:0)
代码中存在两个问题:
首先添加catch
或finally
阻止尝试至少需要任何一个。
第二你不能像这样调用内部类。你需要使用outerclass
的对象来调用inner class
,如下所示:
OuterClass.InnerClass innerObject = outerObject.new InnerClass();
即抛出如下的异常
throw new Test.new NrTooSmall();