หลีกเลี่ยงการตรวจสอบค่า null ตอนที่ 2 (ปรับจาก code คุณสมเกียรติ)

work ซึ่งใช้ try catch จับ NullPointerException
work ซึ่งใช้ try catch จับ NullPointerException
เป็นวิธีแรก ที่อ่านพบจากโพสต์ของคุณสมเกียรติ
คือ การไม่ตรวจสอบ null value ในขณะประมวลผล
แต่ใช้การ try catch ตรวจ NullPointerException
ครอบการเรียกใช้ method ไว้ ซึ่ง code ที่เปลี่ยนแปลงมีเพียง work.java
ผลลัพธ์ที่ได้คือ
1burin
Null Pointer Exception
โดย code ทั้งหมดมี 3 แฟ้มมีดังนี้
1. แฟ้มแรก คือ Work.java
public class Work {
public static void main(String args[]) {
Work job = new Work();
try { job.call(); }
catch(NullPointerException e) {
System.out.println(“Null Pointer Exception”);
}
}
void call() {
PersonDAO personDAO = new PersonDAO();
Person person1 = personDAO.getPersonByID(1);
person1.setName(“burin”);
System.out.println(person1.getID() + person1.getName());
Person person2 = personDAO.getPersonByID(11);
person2.setName(“tui”);
System.out.println(person2.getID() + person2.getName());
}
}
2. แฟ้มที่สองคือ PersonDAO.java
public class PersonDAO {
public Person getPersonByID(int personID) {
Person person = null;
if (personID < 10 && personID > 0) {
person = new Person();
person.setID(personID);
}
return person;
}
}
3. แฟ้มที่สามคือ Person.java
public class Person {
private int id;
private String name;
public void setName(String s) { name = s; }
public void setID(int i) { id = i; }
public int getID() { return id; }
public String getName() { return name; }
}
ตอนที่ 1 เตรียม code สำหรับการเริ่มต้น