NullPointerException lwn. IllegalArgumentException: Menetapkan Parameter Dengan Sesuai
Apabila mereka bentuk kaedah penetap di mana null tidak sesuai untuk harta, persoalan timbul: harus anda membuang IllegalArgumentException (IAE) atau NullPointerException (NPE)?
Menurut dokumentasi Java dan amalan terbaik, IAE ialah pilihan yang lebih sesuai atas sebab berikut:
-
Penggunaan Yang Dimaksudkan: NPE direka secara eksplisit untuk dibuang mengikut masa jalan, manakala IAE bertujuan untuk menunjukkan kaedah tidak sah hujah.
-
Tafsiran Ralat: NPE mencadangkan kemungkinan ralat pengekodan dalam menggunakan null secara tidak wajar. IAE, sebaliknya, dengan jelas menyampaikan bahawa kaedah itu telah diluluskan nilai yang tidak sah.
-
Pengesahan Parameter Konsisten: IAE biasanya digunakan untuk pengesahan parameter, menjadikannya pilihan lalai untuk semua jenis daripada parameter tidak sah, termasuk nol.
-
Mesej Ralat Khusus: Kedua-duanya IAE dan NPE membenarkan mesej ralat tersuai untuk menyampaikan butiran pengesahan khusus.
-
Penggunaan Tidak Konsisten dalam API Java: Walaupun sesetengah bahagian API Java menggunakan NPE untuk parameter nol, ia bukan amalan yang konsisten . Mengikuti amalan terbaik dan menggunakan IAE menggalakkan ketekalan dalam pangkalan kod anda sendiri.
Atas ialah kandungan terperinci IllegalArgumentException atau NullPointerException untuk Parameter Penetap Null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!