Errors مبتدئ

يُخبرك JVM تلقائياً بأي متغير كانت قيمته فارغة بالضبط.

✕ Java 8
// Old NPE message:
// "NullPointerException"
// at MyApp.main(MyApp.java:42)
// Which variable was null?!
✓ Java 14+
// Modern NPE message:
// Cannot invoke "String.length()"
// because "user.address().city()"
// is null
// Exact variable identified!
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🔍

المتغير المحدد

الرسالة تُسمّي المتغير الفارغ في السلسلة.

تصحيح أسرع

لا مزيد من التخمين أي من الاستدعاءات الخمسة المتسلسلة كانت فارغة.

🆓

ترقية مجانية

لا تغييرات في الكود — فقط شغّل على JDK 14+.

الأسلوب القديم
NPE مُشفَّرة
الأسلوب الحديث
NPE مفصّلة
منذ JDK
14
الصعوبة
مبتدئ
استثناءات NullPointerException المفيدة
متاح

متاح على نطاق واسع منذ JDK 14 (مارس 2020)

تصف NPEs المفيدة أي تعبير كانت قيمته فارغة وأي عملية فشلت. هذا مُفعَّل بشكل افتراضي منذ Java 14 — لا تغيير في الكود مطلوب، فقط ترقية JDK.

مشاركة 𝕏 🦋 in