Rumah >Java >javaTutorial >IllegalArgumentException atau NullPointerException: Pengecualian yang manakah untuk Dilemparkan untuk Parameter Penetap Null?
Argumen Null atau Invalid: IllegalArgumentException lwn. NullPointerException
Dilema biasa apabila mentakrifkan kaedah penetap ialah menentukan pengecualian yang sesuai untuk melontar apabila parameter null diterima. Kedua-dua IllegalArgumentException (IAE) dan NullPointerException (NPE) nampaknya terpakai berdasarkan dokumentasi Java.
IAE lwn. NPE: The Difference
NPE biasanya dilemparkan mengikut masa jalan apabila null digunakan secara tidak wajar. Sebaliknya, IAE direka bentuk secara nyata untuk menunjukkan bahawa hujah yang menyalahi undang-undang atau tidak sesuai telah diserahkan kepada kaedah.
Sebab Penggunaan IAE
Untuk parameter nol dalam kaedah penetap, IAE adalah lebih baik daripada NPE atas beberapa sebab:
Penggunaan API dan Perbalahan Balas
Walaupun sesetengah bahagian API Java menggunakan NPE untuk hujah nol, pendekatan yang tidak konsisten ini tidak sepatutnya membenarkan penggunaan NPE berbanding IAE dalam konteks khusus ini. Sebab yang digariskan di atas sangat menyokong penggunaan IAE untuk parameter null haram dalam kaedah penetap.
Atas ialah kandungan terperinci IllegalArgumentException atau NullPointerException: Pengecualian yang manakah untuk Dilemparkan untuk Parameter Penetap Null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!