【问题标题】:Throwing exceptions syntax java抛出异常语法 java
【发布时间】:2014-06-25 23:57:29
【问题描述】:

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

谁能帮我解决语法?

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");
    }
}

【问题讨论】:

  • 那么,错误是什么?另外,仔细检查你的花括号。
  • 这与可编译代码相差甚远,它也可能是伪代码。为什么你不能使用编译器找到你的错误,它有非常明显的错误。

标签: java illegalargumentexception throw


【解决方案1】:

我们在不使用括号时所做的错误..

你有一个多余的右括号。

this.rating = rating; }

请删除它。

【讨论】:

    【解决方案2】:

    试试

    throw new ArgumentException();
    

    因为它是构造函数,你忘了放括号

    【讨论】:

    • 为什么投反对票? throw 应该这样写。请投票者解释你的逻辑
    【解决方案3】:

    你有两个问题:

    1) 您尝试关闭的} 在if 内。

    2) 您没有正确调用 IllegalArgumentException 的构造函数。执行 `throw new IllegalArgumentException();

    以后,您应该阅读并尝试理解编译器消息。它很可能会准确地告诉您错误是什么以及在哪里。 (这就是为什么你的问题被否决了这么多。)

    我知道你是新手,所以我很乐意帮助你。

    编码愉快。

    【讨论】:

    • 哎呀对不起!编辑以摆脱那个额外的括号,我现在就试试你的建议
    • @maribov 发布一个问题,等待该问题的答案,然后现在编辑问题的核心真的没有意义吗?
    • 我的建议是学习阅读编译器消息。如果您想精通 Java 或任何编译语言,则必须这样做。
    • 这不是问题的核心,@todd 回答的第二部分是问题的核心:)
    • 第一部分只是一个错字嘿嘿
    猜你喜欢
    • 1970-01-01
    • 2021-05-11
    • 2012-07-23
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多