Rumah > Java > javaTutorial > IllegalArgumentException atau NullPointerException: Pengecualian Mana yang Perlu Dibuang untuk Parameter Null di Jawa?

IllegalArgumentException atau NullPointerException: Pengecualian Mana yang Perlu Dibuang untuk Parameter Null di Jawa?

Linda Hamilton
Lepaskan: 2024-12-08 19:33:12
asal
391 orang telah melayarinya

IllegalArgumentException or NullPointerException: Which Exception to Throw for Null Parameters in Java?

Pengecualian untuk Parameter Null: IllegalArgumentException lwn. NullPointerException

Apabila mereka bentuk aplikasi Java, adalah penting untuk memutuskan sama ada hendak membuang IllegalArgumentException (IAE ) atau NullPointerException (NPE) apabila menghadapi null parameter. Memahami tujuan yang dimaksudkan bagi setiap pengecualian adalah penting untuk membuat pilihan termaklum.

Gunakan IllegalArgumentException Apabila:

  • Parameter ditakrifkan secara eksplisit sebagai bukan nol dan nilai nol diluluskan.
  • Pengecualian khusus yang anda perlu buang adalah untuk tidak sah atau tidak sesuai hujah.
  • Anda ingin menyampaikan kepada pemanggil bahawa mereka telah memberikan nilai yang tidak sah, bukannya null telah dinyahrujuk.

Sebab untuk Mengelakkan NullPointerException untuk Parameter Null:

  • NPE hanya perlu dibuang apabila null digunakan secara tidak wajar pada masa jalan.
  • Melempar NPE boleh mengelirukan, kerana ia mencadangkan penolakan nol dan bukannya parameter yang tidak sah.
  • IAE direka khusus untuk mengendalikan parameter yang menyalahi undang-undang dan merupakan pilihan lalai.
  • Ketekalan dengan pengendalian parameter tidak sah yang lain sepatutnya dikekalkan.

Contoh:

public void setProperty(String value) throws IllegalArgumentException {
  if (value == null) {
    throw new IllegalArgumentException("Property value cannot be null");
  }
}
Salin selepas log masuk

Dalam contoh ini, IllegalArgumentException ialah pilihan yang lebih sesuai kerana ia menunjukkan bahawa logik aplikasi secara eksplisit memerlukan bukan- nilai nol untuk harta itu.

Atas ialah kandungan terperinci IllegalArgumentException atau NullPointerException: Pengecualian Mana yang Perlu Dibuang untuk Parameter Null di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan