Shembull perjashtim ne Java

Klasa e mëposhtme është e deklaruar nga programuesi si klasë përjashtim, e cila duke qënë një klasë e deruvuar nga Exception, do jetë e një përjashtimi të kontrolluar.

import java.io.*;
public class InsufficientFundsException extends Exception {
 private double amount;
 public InsufficientFundsException(double amount) {
  this.amount = amount;
 }
 public double getAmount() {
  return amount;
 }
}

 

Për të treguar përdorimin e klasës përjashtim, krijohet një klasë e cila përmban një metodë që lëshon këtë përjashtim.

import java.io.*;
public class CheckingAccount {
 private double balance;
 private int number;
 public CheckingAccount(int number) {
  this.number = number;
 }
 public void deposit(double amount) {
  balance += amount;
 }
 public void withdraw(double amount) throws InsufficientFundsException {
  if(amount <= balance) {
   balance -= amount;
  }
  else {
   double needs = amount - balance;
   throw new InsufficientFundsException(needs);
  }
 }
 public double getBalance() {
  return balance;
 }
 public int getNumber() {
  return number;
 }
}

 

Klasa e mëposhtme BankDemo përfshin thirrje të metodave deposit dhe withdraw

public class BankDemo {
 public static void main(String [] args) {
  CheckingAccount c = new CheckingAccount(101);
  System.out.println("Depositing $500...");
  c.deposit(500.00);
  try {
   System.out.println("\nWithdrawing $100...");
   c.withdraw(100.00);
   System.out.println("\nWithdrawing $600...");
   c.withdraw(600.00);
  }
  catch(InsufficientFundsException e) {
   System.out.println("Sorry, but you are short $" + e.getAmount());
   e.printStackTrace();
  }
 }
}

 

Rezultati i ekzekutimit të këtij shembulli ështe :

Depositing $500...
Withdrawing $100...
Withdrawing $600...
Sorry, but you are short $200.0
InsufficientFundsException
at CheckingAccount.withdraw(CheckingAccount.java:25)
at BankDemo.main(BankDemo.java:13)