【问题标题】:Understanding Try-Catch and Exception Handling in Java [duplicate]了解 Java 中的 Try-Catch 和异常处理 [重复]
【发布时间】:2014-11-04 11:05:10
【问题描述】:

我开始在 Java 中使用 Try-Catches。我的捕获中出现错误,显示“未处理的异常类型 InvalidBalanceException”。

这是我的 Person 对象:

public Person(String name, int age, double bankAccountBalance) {
    boolean trueOrFalse = false;
    setName(name);
    setAge(age);
    while(trueOrFalse == false) {
        try {
             setAccountBalance(bankAccountBalance);
        } catch(InvalidBalanceException e) {
            throw new InvalidBalanceException(e+": You did not enter a double");
          }
    }
}

这是我的 InvalidBalanceException:

@SuppressWarnings("serial")
public class InvalidBalanceException extends Exception{

    public InvalidBalanceException() {}

    public InvalidBalanceException(String message) {
        super(message);
    }
}

有人可以告诉我我需要做什么吗?

【问题讨论】:

  • 如果你捕获一个异常并重新抛出它,那么首先捕获它有什么意义?
  • 您需要在实例化 Person 对象的地方添加异常处理。如果您需要更多说明,请同时显示创建此 Person 对象的代码

标签: java exception exception-handling try-catch


【解决方案1】:

异常是您必须处理的意外发生的事情,在这种情况下,如果您确实想测试用户是否输入,您希望在有人创建 Person 的实例且未输入双精度时引发此异常不是数字或无效数字(一个非常大的数字或类似的东西),那么您的构造函数应该接收一个数字,或者一个字符串,并且您应该尝试解析或将该值转换为双精度值,如果你不能,然后抛出例外。

但是,如果您根据类的需要实例化一个对象并放置任何不同于双精度的对象,编译器将不会让您以任何方式达到这一点。

【讨论】:

    猜你喜欢
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 2012-05-04
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多