فهم أفضل على Checked Vs. الاستثناءات التي لم يتم التحقق منها - كيفية التعامل مع الاستثناء بطريقة أفضل في Java؟

نشرت: 2014-09-15

Java Checked Exception بواسطة Crunchify

استثناء محدد

ما هو فحص الاستثناء في لغة برمجة جافا. بلغة بسيطة: استثناء يتم التحقق منه في وقت الترجمة يسمى "استثناء محدد". بعض هذه مذكورة أدناه. إذا كان في التعليمات البرمجية الخاصة بك إذا ألقت بعض الطرق checked exception ، ثم يجب أن handle the exception أو يجب أن تحدد الاستثناء باستخدام كلمة throws .

  1. IOException
  2. SQLException
  3. DataAccessException
  4. درجة بدون استثنائات
  5. الاحتجاج استثناء الهدف
  6. تصور خاطئ

دعنا نلقي نظرة على المثال:

في المثال أدناه ، سنحصل على محتويات موقع "Crunchify.com" ونطبعها في وحدة التحكم. أثناء هذه العملية ، سيقوم برنامج Java برمي MalformedURLException أو IOException في الأسطر المميزة أدناه.

هناك طريقتان لحل هذا. Add throws clause أو Add Try, Catch block على الكود الخاص بك لحلها. هنا رمز محدث.

  1. قم بتعديل الأسطر 16 و 20 ويضيف throws IOException
  2. أضف كتلة try catch على 26،42،43

استثناء غير محدد

الاستثناءات التي لم يتم التحقق منها في Java هي تلك الاستثناءات التي NOT verified during Compile time . تحدث هذه الاستثناءات بسبب البرمجة السيئة.

البرنامج لن يعطي خطأ في الترجمة.

جميع الاستثناءات التي لم يتم التحقق منها هي فئات فرعية مباشرة من فئة RuntimeException .

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

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

فيما يلي نوع الاستثناءات التي لم يتم التحقق منها:

  • NullPointerException
  • ArrayIndexOutOfBound
  • غير الشرعيين استثناء حجة
  • استثناء الدولة غير القانوني

أكثر ما يزعجني هو NullPointer Exception. لقد كتبت مقالة مفصلة عن NPE الأسبوع الماضي.

هناك إجمالي 8 نصائح مختلفة مقدمة لتجنب NPE.

Java Checked Vs Unchecked Exception - Crunchify

ArrayIndexOutofBoundException - Crunchify Tips

في Java 7 ، يمكنك التعامل مع استثناءات متعددة في Catch block واحدة. يمكنك تغيير السطر 13 من تغيير السطر أعلاه إلى أدناه.

كملخص ، يتم التعامل مع كل من الاستثناءات المحددة وغير المحددة باستخدام الكلمة الأساسية try, catch ، finally .

من حيث الوظائف التي تم فحصها والاستثناءات التي لم يتم التحقق منها هي نفسها.