إصلاح الأخطاء الشائعة في وقت التشغيل في جافا مع التصحيح الدقيق

click fraud protection

النظر في الجزء التالي من جافا كود ، مخزنة في ملف يسمى JollyMessage.java:

 // رسالة جولي مكتوبة على الشاشة!
فئة Jollymessage
{
public static void main (String [] args) {
// اكتب الرسالة في نافذة الوحدة الطرفية
System.out.println ("Ho Ho Ho!") ؛
}
}

عند تنفيذ البرنامج ، سينتج هذا الرمز رسالة خطأ في وقت التشغيل. بعبارة أخرى ، تم ارتكاب خطأ في مكان ما ، ولكن لن يتم تحديد الخطأ عندما يكون البرنامج تجميع وانتاج، فقط عندما يكون يركض.

تصحيح الأخطاء

في المثال أعلاه ، لاحظ أن الفئة تسمى "Jollymessage" بينما يتم استدعاء اسم الملف JollyMessage.java.

جافا حساسة لحالة الأحرف. لن يشتكي المترجم لأنه من الناحية الفنية لا يوجد خطأ في الكود. سيقوم بإنشاء ملف فئة يطابق اسم الفئة تمامًا (على سبيل المثال ، Jollymessage.class). عند تشغيل البرنامج المسمى JollyMessage ، ستتلقى رسالة خطأ لأنه لا يوجد ملف يسمى JollyMessage.class.

الخطأ الذي تتلقاه عند تشغيل برنامج باسم خاطئ هو:

استثناء في الموضوع java.lang "الرئيسي". NoClassDefFoundError: JollyMessage (اسم خاطئ: JollyMessage).. 

حلول أخطاء وقت التشغيل الشائعة

إذا تم تجميع برنامجك بنجاح ولكنه فشل في التنفيذ ، فراجع الكود الخاص بك بحثًا عن الأخطاء الشائعة:

instagram viewer
  • علامات اقتباس مفردة ومزدوجة غير متطابقة
  • اقتباسات مفقودة للسلاسل
  • عوامل المقارنة غير صحيحة (على سبيل المثال ، عدم استخدام علامات المساواة المزدوجة للإشارة إلى المهمة)
  • الرجوع إلى كائنات غير موجودة ، أو غير موجودة باستخدام الأحرف الكبيرة المتوفرة في التعليمات البرمجية
  • الرجوع إلى كائن ليس له خصائص

يمكن أن يساعدك العمل في بيئات التطوير المتكاملة مثل Eclipse على تجنب أخطاء النمط "المطبعي".

لتصحيح أخطاء برامج Java المُنتجة ، شغّل مصحح أخطاء متصفح الويب - من المفترض أن ترى رسالة خطأ سداسية عشرية يمكن أن تساعد في عزل السبب المحدد للمشكلة.

في بعض الحالات ، قد لا تكمن المشكلة في التعليمات البرمجية ، ولكن في Java Virtual Machine. إذا كانت JVM تختنق ، فقد تطلق خطأ وقت التشغيل على الرغم من عدم وجود نقص في قاعدة التعليمات البرمجية للبرنامج. ستساعد رسالة مصحح أخطاء المتصفح على عزل التعليمات البرمجية الناتجة عن الأخطاء التي تسببها JVM.

instagram story viewer