الانتقال إلى المحتوى الرئيسي

معالجة الاستثناء في الموضوع الرئيسي: جافا.لانج.إستثناءإبتداءخطأ

جافا هي واحدة من لغات البرمجة الأكثر شعبية ، وبالتالي العديد من المطورين تواجه مشاكل مختلفة عند العمل معها. واحدة من هذه المشاكل هي حدوث استثناءات في مؤشر ترابط البرنامج الرئيسي.

واحدة من الاستثناءات الشائعة التي يمكن أن تحدث في الموضوع الرئيسي هو جافا.لانج.إكسيبتيونينيتياليزيريرور.

كقاعدة عامة ، يحدث هذا الاستثناء عند حدوث خطأ في تهيئة متغير ثابت أو كتلة تهيئة ثابتة لفئة.

يمكن أن يكون سبب هذا الاستثناء لأسباب مختلفة ، مثل العمل غير الصحيح مع الموارد (على سبيل المثال ، فتح ملف وعدم إغلاقه) أو خطأ في رمز كتلة ثابتة يتم تنفيذها عند الوصول إلى الفصل لأول مرة.

عند حدوث استثناء ، جافا.لانج.استثناءإنتياليزيررور في الموضوع الرئيسي ، يتوقف البرنامج عادة ، والمطور يحتاج إلى معرفة سبب الخطأ وإجراء التعديلات المناسبة على رمز البرنامج.

  1. تعريف الحالة الاستثنائية
  2. الاستثناء ومعناه
  3. جافا.لانج.إستثناءإبتداءخطأ
  4. دور التيار الرئيسي
  5. معالجة الاستثناء
  6. الطرق الممكنة

تعريف الحالة الاستثنائية

الوضع الاستثنائي هو موقف إشكالي يحدث أثناء تنفيذ البرنامج ويؤدي إلى تغيير في تدفق العمل الطبيعي. يمكن أن تحدث المواقف الاستثنائية لأسباب مختلفة ، مثل أخطاء الإدخال/الإخراج وأخطاء الوصول إلى الملفات والاستخدام غير الصحيح للطرق وعوامل أخرى.

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

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

التعامل مع حالات استثنائية في جافا يسمح للمبرمج للسيطرة على حالات الخطأ واتخاذ القرارات المناسبة. في كتلة معالجة الاستثناء ، يمكنك تحديد كيفية استجابة البرنامج لخطأ معين أو موقف استثنائي. تسمح كتلة معالجة الاستثناء للبرنامج بتنفيذ إجراءات إضافية عند حدوث أخطاء ، على سبيل المثال ، إخراج رسالة خطأ ، وكتابة البيانات إلى ملف سجل ، وإغلاق الموارد ، وما إلى ذلك.

يعد تحديد المواقف الاستثنائية والتعامل معها جزءا مهما من تطوير البرامج ، حيث يسمح لك بزيادة موثوقية التطبيق واستقراره. يتيح لك التعامل السليم مع المواقف الاستثنائية التحكم في البرنامج في حالة حالات الطوارئ وتجنب إنهاء البرنامج بشكل غير متوقع.

الاستثناء ومعناه

الاستثناء هو آلية في لغة برمجة جافا تسمح لك بمعالجة الأخطاء والمواقف الأخرى غير المتوقعة في البرنامج. الاستثناء هو كائن يحتوي على معلومات حول الخطأ الذي حدث ومعالجة هذا الخطأ.

قيمة الاستثناء ليست فقط في اكتشاف الأخطاء ، ولكن أيضا في السماح للبرنامج بإنهاء بشكل صحيح بعد حدوث خطأ. بدون معالجة استثناء ، قد ينهي البرنامج عمله دون حسيب ولا رقيب وقد يترك عمليات غير مكتملة ، مما قد يؤدي إلى نتائج غير متوقعة وفقدان البيانات.

عند حدوث استثناء ، يتم "طرحه" أو "طرحه" من المكان الذي حدث فيه الخطأ وتم تمريره إلى مكدس الاستدعاءات حتى يتم الوصول إلى كتلة من التعليمات البرمجية التي يمكنها التعامل معها.

في جافا ، تنقسم الاستثناءات إلى نوعين: استثناءات يمكن التحقق منها وغير محددة.

  1. الاستثناءات المحددة هي تلك الاستثناءات التي تم الإعلان عنها صراحة في توقيع الطريقة (باستخدام الكلمة الرئيسية للرميات). عند استدعاء مثل هذه الطريقة ، يجب على رمز الاتصال إما التعامل مع الاستثناء نفسه ، أو رمي الاستثناء مرة أخرى.
  2. الاستثناءات غير المحددة هي تلك الاستثناءات التي لا يجب معالجتها أو الإعلان عنها. يتم توريثها من رونتيميكسيبتيون والخطأ. عادة ما تكون هذه استثناءات تحدث عند حدوث خطأ في البرمجة ، مثل القسمة على صفر أو الخروج من المصفوفة.

هناك العديد من الاستثناءات المضمنة في جافا والتي من شأنها أن تساعد المبرمج في التعامل مع الأخطاء. على سبيل المثال ، يعالج فئة حسابيكسيبتيون أخطاء العملية الحسابية ، فئة أريينديكسوتوفبوندسيكسسيبتيون اعتراض مجموعة أخطاء كبيرة الحجم ، فئة نولبونتيركسيبتيون المصيد أخطاء الوصول إلى كائنات غير مهيأة ، وهلم جرا.

فئة الاستثناءالوصف
حسابيةاستثناءخطأ في العمليات الحسابية ، على سبيل المثال ، القسمة على صفر.
أريينديكسوتوفبوندسيكسسيبتيونخطأ يتجاوز حجم المصفوفة ، على سبيل المثال ، الوصول إلى عنصر في الفهرس الخطأ.
نولبونتيركسيبتيونخطأ في الوصول إلى كائن غير مهيأ.
فيلنوتفوندكسيبتيونحدث خطأ عند فتح الملف ، لم يتم العثور على الملف.
إيوكسيبتيونخطأ في الإدخال / الإخراج.
عددفورماتكسيبتيونخطأ في تحويل سلسلة إلى رقم ، تنسيق رقم غير صحيح.

يتم تنفيذ معالجة الاستثناء في جافا باستخدام بناء محاولة الصيد. يجب وضع التعليمات البرمجية التي يمكن أن تسبب استثناء في كتلة المحاولة. في حالة حدوث استثناء ، يتم نقل التحكم إلى كتلة الصيد ، حيث يمكن التعامل مع الاستثناء.

يسمح لك استخدام الاستثناءات في جافا بإنشاء برنامج موثوق وآمن يتعامل مع الأخطاء ويمنع إنهاء البرنامج بشكل غير صحيح ويحذر المستخدم من المشكلات التي نشأت.

جافا.لانج.إستثناءإبتداءخطأ

جافا.لانج.إكسيبتيونينيتياليزيريرور هو أحد الاستثناءات التي يمكن أن تحدث أثناء تهيئة الفئة. يرث جافا.فئة لانج. لينكاجيرور وهي فئة فرعية من جافا.لانج.خطأ.

يحدث استثناء إينيتاليزيريرور عندما لا يمكن إكمال تهيئة الفئة بسبب استثناء ألقيت في كتلة تهيئة حقل ثابت أو في مهيئ ثابت. هذا الاستثناء يلتف رمي رمي أثناء التهيئة ويمكن استرجاعها عن طريق طريقة جيتكسيبتيون (). يسمح لك بتتبع استثناء أثناء تهيئة الفصل الذي كان من الممكن تجاهله أو فقده.

يمكن أن يحدث خطأ الاستثناء الأولي لعدة أسباب:

  • خطأ في رمز التهيئة للحقول الثابتة أو كتلة التعليمات البرمجية الثابتة;
  • مشاكل مع الفئات أو الموارد التي تحتاج إلى الرجوع إليها أثناء التهيئة;
  • المكتبة المستخدمة من قبل الفئة غير صحيحة أو تالفة.

التعامل مع استثناء إينيتاليزيريرور يمكن أن يكون صعبا ، كما يمكن أن يكون سبب استثناء لأسباب مختلفة. لتحديد العديد من الأسباب المحتملة وتوفير حلول بديلة ، فمن الأفضل استخدام محاولة الصيد أو استخدام طريقة جيتكوس() للحصول على معلومات مفصلة حول الخطأ.

فيما يلي مثال على التعليمات البرمجية التي تسبب خطأ إكستيونينيتياليزيريرور:

في حزمة رمز ميباكج;

فئة عامة ميكلاس {

// Неправильно инициализированное статическое поле

خاص ثابت 'ميكلاس' ميفيلد = ميوثركلاس.طريقة ();

العامة ثابت الفراغ الرئيسي (سلسلة[] الحجج) {

محاولة {

// Myc ميكلاس

ميكلاس أوبج = جديد ميكلاس ();

// ...

} الصيد (جافا.لانج.إكسيبتيونينيتياليزيريرور ه) {

// Excep إستثناءإيتياليزيريرور

  1. }
  2. // ...
  3. }

كما ترون من المثال ، رمز التهيئة من حقل ميفيلد ميكلاس ثابت يدعو طريقة في فئة ميوثركلاس آخر ، الذي يلقي استثناء. كتلة الصيد اعتراض إكستيونينيتياليزيريرور وإخراج رسالة خطأ.

إخراج البرنامج:

خطأ في تهيئة الفئة: جافا.لانج.نولبونتيركسيبتيون

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

دور التيار الرئيسي

يلعب الخيط الرئيسي دورا مهما في البرنامج ، فهو الخيط الرئيسي للتنفيذ ويؤدي الوظيفة الرئيسية للبرنامج.

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

من المهم ملاحظة أن مؤشر الترابط الرئيسي له خاصية كونه آخر مؤشر ترابط ينتهي في البرنامج. إذا انتهى مؤشر الترابط الرئيسي قبل مؤشرات الترابط الأخرى ، فسيتوقف تنفيذ البرنامج أيضا.

الخيط الرئيسي لديه العديد من المسؤوليات الهامة:

بدء البرنامج: الموضوع الرئيسي هو نقطة الدخول إلى البرنامج. يسمي الطريقة

الرئيسية

، والذي يحتوي على المنطق الرئيسي للبرنامج.

إدارة مؤشرات الترابط الأخرى: يدير مؤشر الترابط الرئيسي إنشاء وإدارة مؤشرات الترابط الأخرى. أنه يخلق ويبدأ المواضيع إضافية ، وكذلك تراقب تنفيذها وينتظر منهم لإنهاء.

  • معالجة الاستثناء: يعالج مؤشر الترابط الرئيسي الاستثناءات التي لم يتم اكتشافها في مؤشرات ترابط أخرى. إذا لم يتم اكتشاف استثناء في مؤشرات ترابط إضافية ، فسيتم تمريره إلى مؤشر الترابط الرئيسي للمعالجة.
  • كل هذا يجعل الخيط الرئيسي عنصرا مهما في البرنامج ، فهو يوفر المنطق الأساسي والإدارة والتحكم في الخيوط الأخرى.
  • معالجة الاستثناء
  • الاستثناءات في البرمجة هي أخطاء أو مواقف غير متوقعة تحدث أثناء تنفيذ البرنامج. كقاعدة عامة ، تحدث في الحالات التي لا يستطيع فيها البرنامج إجراء عملية معينة. يستخدم جافا آلية استثناء للتعامل مع الاستثناءات.
  • تنقسم الاستثناءات إلى نوعين: يمكن التحقق منها وغير محددة. الاستثناءات المحددة هي استثناءات يجب معالجتها أو تمريرها إلى مستوى أعلى. الاستثناءات غير المحددة هي استثناءات يمكن التعامل معها ، ولكن هذا يعتبر اختياريا.

في جافا ، يتم التعامل مع الاستثناءات باستخدام كتل محاولة الصيد أخيرا. تحتوي كتلة المحاولة على رمز يمكن أن يسبب استثناء. تحتوي كتلة الصيد على التعليمات البرمجية التي سيتم تنفيذها عند حدوث استثناء. تحتوي الكتلة النهائية على الكود الذي سيتم تنفيذه على أي حال ، بغض النظر عما إذا كان هناك استثناء أم لا.

مثال على معالجة الاستثناء في جافا:

// رمز يمكن أن يسبب استثناء

نتيجة كثافة العمليات = 10 / 0;