الفرق بين الاستثناء الذي تم التحقق منه وغير المحدد في Java

جدول المحتويات:

الفرق بين الاستثناء الذي تم التحقق منه وغير المحدد في Java
الفرق بين الاستثناء الذي تم التحقق منه وغير المحدد في Java

فيديو: الفرق بين الاستثناء الذي تم التحقق منه وغير المحدد في Java

فيديو: الفرق بين الاستثناء الذي تم التحقق منه وغير المحدد في Java
فيديو: Checked and Unchecked Exception in Java | Usage of checked exception 2024, يوليو
Anonim

الفرق الرئيسي - تم التحقق منه مقابل استثناء لم يتم التحقق منه في Java

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

ما هو الاستثناء المحدد في Java؟

عند حدوث استثناء محدد ، يتم توصيل تطبيق Java بمورد خارجي. يمكن أن يكون هذا المورد جهازًا مثل الطابعة. يمكن أن يكون ملفًا أو قاعدة بيانات. لذلك ، يتم فحص هذه الاستثناءات من قبل المترجم. استثناء الإدخال / الإخراج هو استثناء محدد. يحدث بسبب خطأ في الجهاز. عندما يقوم التطبيق بالوصول إلى ملف غير موجود ، فسوف يتسبب ذلك في استثناء FileNotFound. يمكن توصيل تطبيق بقاعدة بيانات مثل MySQL و Oracle وما إلى ذلك لتخزين البيانات. إذا حدث خطأ متعلق بقاعدة بيانات ، فسيكون استثناء SQL. هذه بعض الأمثلة على الاستثناءات التي تم التحقق منها. في كل ذلك ، يرتبط التطبيق بمصدر خارجي.في الاستثناءات المحددة ، من الضروري معالجة الاستثناء. إذا لم تتم معالجته ، فسيتم إنهاء التدفق الصحيح للبرنامج ولن يتم إنشاء ملف الفصل الدراسي. يمكن معالجة الخطأ باستخدام كتلة try، catch.

الفرق بين الاستثناء المدقق وغير المحدد في Java
الفرق بين الاستثناء المدقق وغير المحدد في Java

الشكل 01: فحص معالجة الاستثناء

وفقًا لما سبق ، يقوم FileReader بقراءة البيانات من الملف. الملف text1.txt غير موجود في الموقع المحدد. يتم وضع الكود الذي يمكن أن يعطي الاستثناء داخل كتلة try. توجد الرسالة المراد طباعتها داخل كتلة الالتقاط. نظرًا لعدم وجود ملف يسمى text1.txt ، فإن هذا يتسبب في FileNotFoundException. باستخدام معالجة الاستثناءات ، تتم طباعة الرسالة على الشاشة.

ما هي الاستثناءات التي لم يتم التحقق منها في Java؟

لا يتم فحص الاستثناءات التي لم يتم التحقق منها بواسطة المترجم.بخلاف الاستثناءات المحددة ، مع استثناءات غير محددة ، لا يتم توصيل تطبيق Java بمصدر خارجي مثل ملف أو قاعدة بيانات أو جهاز. بعض الاستثناءات الشائعة غير المحددة هي استثناءات الحساب و ArrayOutOfBound و NullPointer.

int a=10 ، b=0 ؛

int div=a / b ؛

System.out.println (div) ؛

سيؤدي هذا إلى استثناء حسابي بسبب الغوص "a" على الصفر. راجع الكود أدناه

الفرق بين الاستثناء المدقق وغير المحدد في Java_Figure 02
الفرق بين الاستثناء المدقق وغير المحدد في Java_Figure 02

الشكل 02: معالجة الاستثناءات الحسابية

وفقًا للبرنامج أعلاه ، المتغير a هو قيمة عدد صحيح. المتغير b هو 0. قسمة هذين العددين هي قسمة على صفر. لذلك ، سوف يتسبب في استثناء حسابي. يمكن التعامل معها باستخدام كتلة try-catch.يتم وضع العبارات التي يمكن أن تسبب الاستثناء داخل كتلة try. الرسالة التي سيتم عرضها في كتلة catch.

راجع الجزء أدناه من الكود.

int array1 ={1، 2، 3، 4، 5} ؛

System.out.println (array1 [5]) ؛

سيؤدي هذا إلى استثناء. المصفوفة 1 هي مصفوفة مكونة من 5 عناصر. فهرس بداية المصفوفة هو صفر. تؤدي طباعة قيمة الفهرس 5thإلى استثناء لأنها خارج الحدود. الحد الأقصى لمؤشر المصفوفة 1 هو 4.

الفرق الرئيسي بين الاستثناء الذي تم التحقق منه وغير المحدد في Java
الفرق الرئيسي بين الاستثناء الذي تم التحقق منه وغير المحدد في Java

الشكل 03: معالجة استثناء ArrayOutOfBound

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

ما هو التشابه بين الاستثناء المدقق وغير المحدد في Java

كل من الاستثناءات المحددة وغير المحددة في Java هما نوعان من الاستثناءات في Java

ما هو الفرق بين الاستثناء المدقق وغير المحدد في Java؟

تم الفحص مقابل استثناء غير محدد في Java

الاستثناء المحدد هو خطأ في وقت التشغيل يتم التحقق منه بواسطة المترجم. الاستثناء الذي لم يتم التحقق منه هو خطأ وقت تشغيل لم يتم التحقق منه من قبل المترجم.
حدث
عند حدوث استثناء محدد ، يتم توصيل تطبيق Java بمورد خارجي مثل ملف أو جهاز أو قاعدة بيانات. عند حدوث استثناء غير محدد ، فإن تطبيق Java غير متصل بمورد خارجي.
أمثلة
IOException و FileNotFoundException و SQLException هي بعض الأمثلة على الاستثناءات المحددة. الاستثناء الحسابي ، ArrayOutOfBoundException ، NullPointerException هي بعض الأمثلة على الاستثناءات التي لم يتم التحقق منها.

ملخص - فحص مقابل استثناء لم يتم التحقق منه في Java

الاستثناء هو حدث يقطع تنفيذ تدفق البرنامج. هناك نوعان من الاستثناءات. يطلق عليهم الاستثناءات المحددة والاستثناءات غير المحددة. ناقشت هذه المقالة الفرق بين استثناء محدد واستثناءات غير محددة. الفرق بين الاستثناء المحدد وغير المحدد في Java هو أن الاستثناء المحدد يتم فحصه بواسطة المترجم بينما لا يتم التحقق من الاستثناء غير المحدد بواسطة المترجم. نظرًا لأن الاستثناءات تؤثر على التدفق الصحيح لتنفيذ البرنامج ، فمن الممارسات البرمجية الجيدة التعامل معها.

موصى به: