我很难搞清楚如何抛出和捕捉异常 我认为我有一般的语法,至少根据我使用的书,但我不断收到错误。
任何人都可以帮我解决语法问题吗?
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");
}
}
答案 0 :(得分:3)
您有两个问题:
1)尝试的结束}
位于if
。
2)您没有正确调用IllegalArgumentException的构造函数。做`抛出新的IllegalArgumentException();
将来,您应该阅读并尝试理解编译器消息。它很可能告诉你确切的错误是什么以及在哪里。 (这就是为什么你的问题已经被投票了很多。)
我知道你是新手,所以我非常乐意帮助你。
快乐的编码。
答案 1 :(得分:0)
我们在没有括号的情况下所犯的错误。
你有一个多余的右括号。
this.rating = rating; }
请将其删除。
答案 2 :(得分:0)
试
throw new ArgumentException();
因为它是构造函数而你忘了放括号