java - Java 中的 OverLimit 异常处理

标签 java exception

引发异常的程序,声明“在清算账单之前不可能进行进一步的交易。”当客户未支付的信用卡金额超过 2000 美元或未支付长达 45 天时。假设当前日期是 01/12/2015

  1. 创建一个扩展 Exception 的自定义异常类 OverLimitException
  2. 添加一个采用Throwable 对象的构造函数,使用super() 调用父类(super class)构造函数并打印问题陈述中所述的输出。

我创建了两个类,一个是主类,另一个是账户

账户.java

import java.text.*;
import java.util.*;
import java.util.concurrent.TimeUnit;

public class Account {

String accountNumber;
String accountName;
Double dueAmount;

public Account(String accountNumber, String accountName,Double dueAmount) throws ParseException {
    this.accountNumber = accountNumber;
    this.accountName = accountName;
    this.dueAmount = dueAmount;
}

public Account() {
}

public Boolean validate(String dueDate,Double unpaid,Double amount){
    DateFormat sf = new SimpleDateFormat("dd/MM/yyyy");
    sf.setLenient(false);
    try{
        Date d = sf.parse(dueDate);
        Date d1 = sf.parse("01/12/2015");
       // long curDate = new Date().getTime();
        long diff =d1.getTime() - d.getTime();
        long daysDiff = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
        if(daysDiff > 45 || unpaid > 2000){
            throw new OverLimitException("Further Transactions Not Possible until clearance of bill.");
        }
    }catch(Exception e){
        return false;
    }
    return true;
}

public void display() {       
    System.out.println("Transaction successsfully completed.");
    System.out.println("Account Number : "+this.accountNumber);
    System.out.println("Account Name : "+this.accountName);
    System.out.println("Unpaid Amount : "+this.dueAmount);
}
}

但是我收到一个错误说明

 error: cannot find symbol
 throw new OverLimitException("Further Transactions Not Possible until clearance of bill.");
 ^
 symbol: class OverLimitException

谁能帮我解决这个问题?

最佳答案

OverLimitException 不是 Java 自带的异常。

与您创建的其他类一样,您也必须编写该类;喜欢:

public class OverLimitException extends RuntimeException {

并提供一个以消息字符串为例的构造函数。

关于java - Java 中的 OverLimit 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39168420/

相关文章:

java - 其中java main方法定义在下面类的开始时间或程序中间

java - 在java中比较两个数据结构的最快方法

java - 将数据解析成表

java - 使用DecimalFormat(强制点)和drawString()(y似乎是错误的)

java - 使异常默认执行某些操作

python - 为什么尝试在Python 3.7的Visual Studio代码中使用except block无法工作?

java - java中的ArrayList,只执行一次操作

delphi - 如何替换除 block 之外的空?

python - C++ 中的通用异常处理

java - 尝试在空对象引用上调用接口(interface)方法 'boolean java.util.Set.addAll(java.util.Collection)'