Merge pull request 'add Exception Examples' (#1) from exceptions into main

Reviewed-on: AdvancedProgramming1404/WS-05-exceptions-and-file-handling#1
This commit is contained in:
2026-05-10 12:22:36 +00:00
5 changed files with 240 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
package org;
public class Main {
public static void main(String[] args) {
}
}
@@ -0,0 +1,86 @@
package org.exceptions;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class FileService {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter you first name: ");
String firstName = scanner.nextLine();
System.out.println("Enter you last name: ");
String lastName = scanner.nextLine();
System.out.println("Enter your national code: ");
Long nationalCode = scanner.nextLong();
scanner.nextLine();
System.out.println("Enter your email: ");
String email = scanner.nextLine();
System.out.println("Enter your phone number: ");
Long phoneNumber = scanner.nextLong();
scanner.nextLine();
System.out.println("Enter your dateOfBirth: ");
String dateOfBirth = scanner.nextLine();
UserEntity user = null;
user = new UserEntity(firstName, lastName, nationalCode, email, phoneNumber, parseDate(dateOfBirth));
System.out.println(user.toString());
System.out.println(writeFile(user));
readFile();
}
public static String writeFile(UserEntity user) {
FileWriter fw = new FileWriter("userInformation.txt", true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(user.toString());
bw.close();
return "user information written to file";
}
public static void readFile() {
FileReader file = new FileReader("userInformation.txt");
BufferedReader fileInput = new BufferedReader(file);
for (int counter = 0; counter < 3; counter++)
System.out.println(fileInput.readLine());
fileInput.close();
}
public static Date parseDate(String date) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date dob = null;
dob = formatter.parse(date);
return dob;
}
}
@@ -0,0 +1,62 @@
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) {
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");
}
// ArithmeticException
public static void calculatePayment(int totalAmount, int installmentCount) {
int payment = totalAmount / installmentCount;
System.out.println("Each installment : " + payment);
}
// NumberFormatException
public static void convertUserAge(String ageInput) {
int age = Integer.parseInt(ageInput);
System.out.println("User age: " + age);
}
// IllegalStateException
public static void completeRegistration(UserEntity user) {
if (user.getDateOfBirth() == null) {
throw new IllegalStateException(
"Registration cannot be completed. Date of birth is missing."
);
}
System.out.println("Registration completed");
}
}
@@ -0,0 +1,84 @@
package org.exceptions;
import java.util.Date;
public class UserEntity {
private String firstName;
private String lastName;
private Long nationalCode;
private String email;
private Long phoneNumber;
private Date dateOfBirth;
public UserEntity(String firstName, String lastName, Long nationalCode, String email, Long phoneNumber, Date dateOfBirth) {
this.firstName = firstName;
this.lastName = lastName;
this.nationalCode = nationalCode;
this.email = email;
this.phoneNumber = phoneNumber;
this.dateOfBirth = dateOfBirth;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Long getNationalCode() {
return nationalCode;
}
public void setNationalCode(Long nationalCode) {
this.nationalCode = nationalCode;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Long getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(Long phoneNumber) {
this.phoneNumber = phoneNumber;
}
public Date getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
@Override
public String toString() {
return "UserEntity{" +
"firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
", nationalCode=" + nationalCode +
", email='" + email + '\'' +
", phoneNumber=" + phoneNumber +
", dateOfBirth=" + dateOfBirth +
'}';
}
}
+1
View File
@@ -0,0 +1 @@
HELLO!