9
ทำไมต้องโยน NullPointerException อย่างชัดเจนแทนที่จะปล่อยให้มันเกิดขึ้นเองตามธรรมชาติ?
เมื่ออ่านซอร์สโค้ดของ JDK ฉันพบว่าเป็นเรื่องธรรมดาที่ผู้เขียนจะตรวจสอบพารามิเตอร์ว่าเป็นโมฆะหรือไม่จากนั้นให้โยน NullPointerException () ใหม่ด้วยตนเอง ทำไมพวกเขาทำมัน ฉันคิดว่าไม่จำเป็นต้องทำเช่นนั้นเพราะมันจะโยน NullPointerException ใหม่ () เมื่อเรียกวิธีการใด ๆ (นี่คือซอร์สโค้ดของ HashMap ตัวอย่างเช่น :) public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) { if (remappingFunction == null) throw new NullPointerException(); Node<K,V> e; V oldValue; int hash = hash(key); if ((e = …