package org.Exceptions; import java.util.regex.Pattern; public class RuntimeExceptionDemo { public static void main(String[] args) { UserEntity user = new UserEntity("Ali", "Ahmadi", 1234567890L, null, 989111111111L, null); validateEmail(user); calculatePayment(5000, 0); convertUserAge("twenty"); completeRegistration(user); } //nullPointerException //IllegalArgumentException public static void validateEmail(UserEntity user) { try { String email = user.getEmail(); String emailRegex = "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+$"; if (!Pattern.matches(emailRegex, email)) { throw new IllegalArgumentException("Invalid email format"); } System.out.println("User email is valid"); } catch (NullPointerException e) { System.out.println("Error: email is null - " + e.getMessage()); } catch (IllegalArgumentException e) { System.out.println("Error: " + e.getMessage()); } } // ArithmeticException public static void calculatePayment(int totalAmount, int installmentCount) { try { int payment = totalAmount / installmentCount; System.out.println("Each installment : " + payment); } catch (ArithmeticException e) { System.out.println("Error: cannot divide by zero - " + e.getMessage()); } } // NumberFormatException public static void convertUserAge(String ageInput) { try { int age = Integer.parseInt(ageInput); System.out.println("User age: " + age); } catch (NumberFormatException e) { System.out.println("Error: invalid number format - " + e.getMessage()); } } // IllegalStateException public static void completeRegistration(UserEntity user) { try { if (user.getDateOfBirth() == null) { throw new IllegalStateException( "Registration cannot be completed. Date of birth is missing." ); } System.out.println("Registration completed"); } catch (IllegalStateException e) { System.out.println("Error: " + e.getMessage()); } } }