java.lang.nullpointerexception یک خطای جاوا است که زمانی اتفاق می افتد که یک برنامه جاوا سعی می کند به جای یک شی از یک null استفاده کند.
RuntimeException توسط NullPointerException که یک کلاس عمومی است گسترش می یابد.
NullPointerException در موقعیتهای مختلفی مطرح میشود، مانند زمانی که متد نمونه یک شی null را فراخوانی میکنید. این خطا همچنین در صورتی رخ می دهد که یک شی null باشد و شما بخواهید به فیلدی از آن شی null دسترسی پیدا کرده یا آن را ویرایش کنید.
اگر سعی کنید طول یک آرایه تهی را بدست آورید، یک استثنا نیز ایجاد می شود.
در این مقاله، نحوه رسیدگی به استثنای Null Pointer در جاوا را بررسی خواهیم کرد.
وقتی java.lang.nullpointerexception رخ می دهد؟
هنگامی که یک متغیر جاوا که به هیچ شیئی اشاره نمی کند برای هر عملی قابل دسترسی است، java.lang.nullpointerexception ایجاد می شود.
استثنا در زمان اجرا java.lang.nullpointerexception یک استثنا برای زمان اجرا java.lang.nullpointerexception است. وقتی متغیری را تعریف میکنید اما تا زمانی که سعی نکنید از آن استفاده کنید آن را به یک شی اختصاص نمیدهید، یک java nullpointerexception دریافت خواهید کرد.
شما به یک موجود ناموجود اشاره می کنید. در جاوا، null یک مقدار خاص را نشان می دهد. معمولاً برای نشان دادن اینکه به یک متغیر مرجع مقداری تخصیص داده نشده است یا مقداری به آن اختصاص داده نشده است استفاده می شود.
برای جلوگیری از NullPointerException، قبل از استفاده از متغیر مطمئن شوید که همه اشیا به درستی مقداردهی اولیه شده اند.
موارد زیر برخی از رایج ترین سناریوهای NullPointerException هستند:
- دستیابی به ویژگی های یک شی تهی
- استفاده از شی تهی برای فراخوانی متدها
- روی یک شی تهی، با استفاده از همگام
- پرتاب null از یک روش استثناء پرتاب
- آرگومان های تهی به یک متد ارسال می شوند.
- دسترسی به عنصر شاخص یک شی تهی (مانند یک آرایه)
- برای چارچوبهای تزریق وابستگی مانند Spring، این تنظیم نادرست است.
نمونه ای از java.lang.nullpointerexception
اگر یک متغیر جاوا ایجاد شود که به یک شی اشاره نمی کند و برای اجرای برخی از فعالیت ها استفاده می شود، NullPointerException پرتاب می شود.
مثال زیر سعی می کند طول رشته ای را که روی null تنظیم شده است تعیین کند.
رفع java.lang.nullpointerexception
رفع 1
متغیر جاوا را پیدا کنید که استثنا java.lang را ایجاد می کند. اگر نرم افزار یک NullPointerException پرتاب کرد، دوباره بررسی کنید که متغیر به یک مقدار یا شی اختصاص داده شده باشد.
اگر مقداری به متغیر جاوا اختصاص داده شود، java.lang.nullpointerexception حذف می شود.
رفع 2
از عملگر سه تایی برای تعیین مقدار پیش فرض قبل از استفاده از متغیر جاوا برای انجام عمل استفاده کنید اگر java.lang.nullpointerexception در متغیر پرتاب می شود.
مقدار متغیر در صورتی استفاده می شود که دارای یک باشد. در غیر این صورت، برای جلوگیری از java.lang.nullpointerexception، از مقدار پیش فرض استفاده می شود.
رفع 3
اگر مطمئن نیستید که کدام متغیر باعث ایجاد java.lang.nullpointerexception می شود یا احتمال پرتاب java.lang.nullpointerexception وجود دارد، یا اگر خطر پرتاب java.lang.nullpointerexception در چندین مکان وجود دارد. اضافه کردن یک چک تهی به کد زمان بر است.
برای رسیدگی به این مشکل یک بلوک catch به آن اضافه کنید.
رفع 4
اگر متغیر جاوا در برنامه یک java.lang.nullpointerexception ایجاد می کند، قبل از استفاده از آن یک بررسی تهی انجام دهید.
اگر متغیر تهی است، مسیر جایگزین را انتخاب کنید. java.nullpointerexception حذف خواهد شد.
نتیجه
در این مقاله، Java NullPointerException را بررسی کردیم.
این یک استثنا خطرناک است که اغلب زمانی ظاهر می شود که ما انتظارش را نداریم. شایع ترین دلیل استثنای اشاره گر تهی یک شی تهی یا مرجع تهی است.
ما قبلاً مؤثرترین راه حل ها را دیده ایم.
پاسخ دهید