Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 抛出异常语法_Java_Illegalargumentexception_Throw - Fatal编程技术网

Java 抛出异常语法

Java 抛出异常语法,java,illegalargumentexception,throw,Java,Illegalargumentexception,Throw,我很难弄清楚如何抛出和捕获异常。 我想我的一般语法是正确的,至少根据我正在使用的书来看是正确的,但是我不断地出错 有人能帮我解释一下语法吗 public Movie( String title, int yearReleased, double rating){ try{ if (rating < 4.1 && rating >= 0.0) this.rating = rating; else

我很难弄清楚如何抛出和捕获异常。
我想我的一般语法是正确的,至少根据我正在使用的书来看是正确的,但是我不断地出错

有人能帮我解释一下语法吗

public Movie( String title, int yearReleased, double rating){
    try{
        if (rating < 4.1 && rating >= 0.0)
            this.rating = rating; 
        else
            throw new IllegalArgumentException;
    catch (IllegalArgumentException e){
        System.out.println("This rating is invalid");
    }
}
公共电影(字符串标题,国际年发行,双重评级){
试一试{
如果(额定值<4.1&&额定值>=0.0)
这个。评级=评级;
其他的
抛出新的IllegalArgumentException;
捕获(IllegalArgumentException e){
System.out.println(“该评级无效”);
}
}

我们在没有用括号括起来的情况下所犯的错误

你有一个多余的结束括号

this.rating = rating; }
请删除它。

试试看

throw new ArgumentException();
因为它是构造函数,而您忘记放括号,所以您有两个问题:

1) 您尝试的结束语
}
if

2) 您没有正确调用IllegalArgumentException的构造函数。不要抛出新的IllegalArgumentException()

将来,您应该阅读并尝试理解编译器消息。它很可能会准确地告诉您错误的内容和位置。(这就是你的问题被否决的原因。)

我知道你是新手,所以我非常乐意帮助你


快乐编码。

那么,错误是什么?另外,仔细检查你的花括号。这离可编译代码太远了,它可能是伪代码。为什么你不能用编译器找到你的错误,它有非常明显的错误。哎呀,对不起!为了去掉那个多余的括号,我会试试你的建议now@maribov发布一个问题,等待该问题的答案,然后编辑问题的核心,这真的没有意义吗?我的建议是学习阅读编译器消息。如果你想熟练使用Java或任何编译语言,你必须这样做。这不是问题的核心,@todd回答的第二部分是问题的核心:)第一部分只是一个打字错误,为什么否决?应该这样写。请投票人解释一下你的逻辑