เป็นวิธีแรก ที่อ่านพบจากโพสต์ของคุณสมเกียรติ
คือ การไม่ตรวจสอบ 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 สำหรับการเริ่มต้น