برای تعریف یک کلاس Exception مثلا با نام DivideByZero پشت سر اسم کلاس extends Exception رو اضافه می کنید، یعنی وارث کلاس Exception باشه.
اون super هم نحوه فراخوانی متد سازنده Exception رو مشخص می کنه.
Java:
public class DivideByZero extends Exception
{
public DivideByZero(String errorMessage)
{
super(errorMessage);
}
}
و هر جا که قراره خطا رخ بده، با throw new یک شیء از اون کلاس DivideByZero به عنوان خطا ایجاد می کنید.
Java:
if (b == 0)
{
throw new DivideByZero("Error: Divide by zero.");
}
و نمیدونم متد رو چطور طراحی کرده اید، بررسی می کنید که اگر دو عملگر در فلان پارامتر ها باشه throw new مورد نظر رو انجام بدهید.
import java.util.*;
public class Calculator {
public static void main(String[] args){
int num1;
int num2;
String operation;
Scanner input = new Scanner(System.in);
System.out.println("please enter the first number");
num1 = input.nextInt();
System.out.println("please enter the second number");
num2 = input.nextInt();
Scanner op = new Scanner(System.in);
System.out.println("Please enter operation");
operation = op.next();
if (operation == "+") {
System.out.println("your answer is" + (num1 + num2));
}
if (operation == "-"){
System.out.println("your answer is" + (num1 - num2));
}
if (operation == "*"){
System.out.println("your answer is" + (num1 * num2));
}
if (num2==0){
throw new ArithmeticException();
}
else if(operation == "/"){
System.out.println("your answer is" + (num1 / num2));
}
}
}
من تا این جا این رو نوشتم اما نمی دونم چه جوری بنوسیم که اگر 2 تا عملگر جمع وارد شد چه جوری خطا رو برگردونه؟