2014-03-01 55 views
0

我刚刚开始学习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

例如:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html – zapl

+0

谢谢:)我会阅读它。 – user3369008

回答

0

两个问题中的代码存在:

首先添加任何catchfinally块的尝试至少需要任何一个。

秒你不能调用内部类像this.You需要使用outerclass对象调用inner class象下面这样:

OuterClass.InnerClass innerObject = outerObject.new InnerClass(); 

即抛出异常像下面

throw new Test.new NrTooSmall(); 
相关问题