2014-09-18 184 views
3

我有一個非常簡單的程序,試圖拋出異常。編譯器說,它無法找到IllegalArgumentException即使didm't說的那個名字什麼,當我把它扔符部分:找不到符號IllegalArgumentException

import java.lang.*; 

class A 
{ 
    public A() throws IllegalArgumentException 
    { 
     if (n <= 0) 
      throw IllegalArgumentException("n is less than 0"); 
    } 
} 

這裏的錯誤:

Main.java:28: error: cannot find symbol 
      throw IllegalArgumentException("n is less than 0"); 
       ^
    symbol: method IllegalArgumentException(String) 
    location: class A 
1 error 

我意識到這是非常簡單(我第一次嘗試編寫Java)。我試過尋找答案,但他們沒有幫我找到解決辦法。

回答

7

使用new關鍵字

public A() { 
    int n = ...; 
    if (n <= 0) { 
     throw new IllegalArgumentException("n is less than 0"); 
    } 
} 
+0

感謝。另外,當我扔東西時,我*是否有'拋出X'? – 2014-09-18 20:06:33

+0

不適用於[運行時異常](http://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html):) – Reimeus 2014-09-18 20:11:17