menusearch
javapro.ir

استثنای NullPointerException در جاوا چیست؟

جستجو
شنبه ۸ مهر ۱۴۰۲ | ۱۷:۲۲:۵۶
۱۳۹۹/۱/۲ شنبه
(2)
(0)
استثنای NullPointerException در جاوا چیست؟
استثنای NullPointerException در جاوا چیست؟

استثنای NullPointerException در جاوا

 

 

 

 

راه های ارتباط با مدرس و نویسنده:


سایت: www.javapro.ir
ایمیل: Rahman.zarie92@gmail.com
کانال تلگرام: https://t.me/javalike
آی دی تلگرام: https://t.me/RZUTAB
اینستاگرام: https://www.instagram.com/javapro.ir

 

 

 


سلام.در این جلسه آموزشی قصد داریم با مثال استثنای NullPointerException در جاوا را بررسی کنیم.


استثنای NullPointerException در جاوا چیست؟ و چه زمانی رخ می‌دهد؟

NullPointerException یک استثنا در جاواست که هنگام اجرای برنامه رخ می‌دهد.وقتی در برنامه مون هنگام کدنویسی به زبان جاوا به یک شی اشاره می‌کنیم که مقدارش null باشد استثنای NullPointerException  رخ می‌دهد. برای درک این مطلب به مثال زیر توجه کنید:

 

package t1;

public class Tester1 {

   public static void main(String[] args) {
       Object obj = null;
       obj.toString(); // this will throw a NullPointerException
   }
}


خروجی:بعد از اجرای برنامه با استثنای زیر در کنسول روبرو می‌شویم:

 

Exception in thread "main" java.lang.NullPointerException
   at t1.Tester1.main(Tester1.java:7)


•    دلیل رخ دادن همچین استثنایی این است که شی obj که از نوع کلاس Object است مقدارش null است و ما با شی که مقدارش null است متد toString را صدا زده ایم.

 

مثال 2:

 

package t1;

class Person {
   String name;

}

public class Tester1 {

   public static void main(String[] args) {
       Person p[] = new Person[3];
       p[0].name = "Javapro";
       System.out.println(p[0].name);
   }
}


خروجی: بعد از اجرای برنامه با استثنای زیر در کنسول روبرو می‌شویم:

 

Exception in thread "main" java.lang.NullPointerException
  at t1.Tester1.main(Tester1.java:12)


•    شی p[0] از نوع کلاس Person است اما سازنده کلاس Person را صدا نزده است که کامل ساخته شود و به همین دلیل مقدارش null است و ما با استفاده از شی p[0] که مقدارش null است متغیر name کلاس Person را صدا زده ایم که نتیجه آن رخ دادن استثنای NullPointerException است.


•    پس اگر به شی که مقدارش null است اشاره کنیم یا با شی که مقدارش null است کار و عملی در کدنویسی جاوای خود انجام بدهیم موجب رخ دادن استثنای NullPointerException در جاوا می‌شود.


•    برای مثال اگر کدهای مثال 2 را به صورت زیر تغییر بدهیم خطای NullPointerException در جاوا رخ نمی‌دهد:

 

package t1;

class Person {
   String name;

}

public class Tester1 {

   public static void main(String[] args) {
       Person p[] = new Person[3];
       p[0]=new Person();
       p[0].name = "Javapro";
       System.out.println(p[0].name);
   }
}


خروجی: برنامه بدون مشکل اجرا می‌شود و خروجی به صورت زیر است:

 

Javapro


توضیحات:

 

p[0]=new Person();



در دستور بالا شی p[0] با صدا زدن سازنده کلاس Person به طور صحیح و کامل ساخته شده است و مقدارش null نیست.

 

 

به طور خلاصه:


اغلب NullPointerException در جاوا هنگام کار فایل در جاوا،کار با String در جاوا،کار با آرایه ها در جاوا ،کار با لیست ها در جاوا و... رخ می‌دهد.یعنی جایی که ممکنه اشیا مقدارش null باشد و ما روی آنها عملیاتی را انجام بدهیم.


پیروز و موفق باشید

 

 

 

دانلود ویدیو

 

دانلود سورس کد+پی دی اف

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
زودتر از دیگران از جدیدترین مطالب آموزشی برنامه نویسی جاواپرو اطلاع پیدا کن
 شاید برای شما کم اهمیت باشد; اما حمایت مالی به جاواپرو جان می‌دهد
سوالات متداول برنامه نویسی
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی