2014-09-18 193 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