【发布时间】:2016-04-03 19:26:08
【问题描述】:
当我创建自己的异常时,我正在那里开发小型 AOP 独立项目,它给出了与 throws 子句不兼容的错误异常。如果有人可以非常感谢,请帮助。
这是我写的异常类
package com.mtit.exceptions;
public class InsufficientAmountException extends Exception
{
/**
* exception for handling invalid payment
*/
private static final long serialVersionUID = 1L;
public InsufficientAmountException(String message)
{
super(message);
}
}
这是方法
public void PaymentPatient(String PatientID,double discountRate,double ChargePerDay,double cashAmount) throws InsufficientAmountException
{
double totalAmount=CalculateTotalAmountPatient(PatientID,discountRate,ChargePerDay);
if(cashAmount>=totalAmount)
{
double balance=cashAmount-totalAmount;
System.out.println("Payment Succefully done your balance is "+"\t"+balance);
}
else
{
throw new InsufficientAmountException("Balance is insufficient");
}
}
这里是主要方法
try
{
//call the payment method i have written above
}
catch(InsufficientAmountException e)
{
System.out.println("");
}
主要方法
public class Main {
public static void main(String[] args)
{
try
{
Payment();
}
catch(InsufficientAmountException e)
{
System.out.println("");
}
}
public static void Payment()
{
PatientService patientService=new PatientServiceImpl();
Scanner scanner=new Scanner(System.in);
System.out.println("Enter Patient ID");
String id=scanner.nextLine();
System.out.println("Enter Discount rate");
double discount=Double.parseDouble(scanner.nextLine());
System.out.println("Enter No of Days");
int noOfDays=Integer.parseInt(scanner.nextLine());
double totalAmount=patientService.CalculateTotalAmountPatient(id, discount, noOfDays);
System.out.println("Your total charge is"+"\t"+totalAmount);
System.out.println("Would you like to do payment enter yes or no");
String result=scanner.nextLine();
if(result=="yes")
{
System.out.println("Enter charge per day");
double ChargePerDay=Double.parseDouble(scanner.nextLine());
System.out.println("Enter cash amount");
double cashAmount=Double.parseDouble(scanner.nextLine());
patientService.PaymentPatient(id, discount, ChargePerDay, cashAmount);
}
else
{
System.out.println("Please do the payment with in 3 days to get rid from tax");
}
}
【问题讨论】:
-
我已经用截图提到了错误
-
你有一个空指针。
-
您需要在
try中实际引发异常的代码 -
截图显示
Payment(),而代码显示PaymentPatient。 -
如果你调用 PaymentPatient(String PatientID,do..... 方法,这个错误就会消失。除此之外,在方法上使用小写的第一个字符
标签: java exception-handling throws