2014-03-01 86 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(); 
相關問題