Files
WS-05-exceptions-and-file-h…/src/main/java/org/Exceptions/RuntimeExceptionDemo.java
T

76 lines
2.3 KiB
Java

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());
}
}
}