(OOPL8) Exception Handling
🙊

(OOPL8) Exception Handling

 

Stacks With Exceptions

public class Stack { int[] arr = new int[5]; int top = -1; static class PushException extends Exception { public PushException(String message) { super(message); } } static class PopException extends Exception { public PopException(String message) { super(message); } } void push(int data) throws PushException { if (top == this.arr.length - 1) { throw new PushException("stack is full"); } else { arr[++top] = data; } } int pop() throws PopException { if (top < 0) { throw new PopException("stack is empty"); } else { return arr[top--]; } } void display() { if (top < 0) { System.out.println("ERROR | Stack is empty!"); } else { for (int i = 0; i <= top; i++) { System.out.print(this.arr[i] + " "); } System.out.println(); } } public static void main(String[] args) throws PushException, PopException { Stack stack = new Stack(); stack.push(1); stack.push(2); stack.push(3); stack.push(4); stack.push(5); stack.display(); stack.push(6); } }

Current Date

import java.util.Scanner; public class CurrentDate { int day, month, year; String date; static class InvalidDayException extends Exception {} static class InvalidMonthException extends Exception {} void createDate() throws InvalidDayException, InvalidMonthException { Scanner scanner = new Scanner(System.in); System.out.print("Enter day: "); this.day = scanner.nextInt(); if (this.day < 1 || this.day > 31) { throw new InvalidDayException(); } System.out.print("Enter month: "); this.month = scanner.nextInt(); if (this.month < 1 || this.month > 12) { throw new InvalidMonthException(); } System.out.print("Enter year: "); this.year = scanner.nextInt(); this.date = this.day + "/" + this.month + "/" + this.year; } public static void main(String[] args) throws InvalidDayException, InvalidMonthException { CurrentDate date = new CurrentDate(); date.createDate(); System.out.println("Current Date: " + date.date); } }

Student Seats Filled

import java.util.Scanner; public class Student { int regNo; int yearOfJoin; String name; static int number = 25; // 25 seats already filled. static class SeatsFilledException extends Exception { public SeatsFilledException(String message) { super(message); } } public Student(Scanner scanner) throws SeatsFilledException { if (number >= 25) { throw new SeatsFilledException("all seats are filled"); } System.out.print("Enter name: "); this.name = scanner.nextLine(); System.out.print("Enter year: "); this.yearOfJoin = scanner.nextInt(); number++; this.regNo = ((this.yearOfJoin % 100) * 100) + number; this.display(); } void display() { System.out.println(); System.out.println("Registration Number: " + regNo); System.out.println("Name: " + name); System.out.println("Year: " + yearOfJoin); System.out.println(); } public static void main(String[] args) throws SeatsFilledException { Scanner scanner = new Scanner(System.in); Student student = new Student(scanner); } }