تعلم لغة الجافا – الدرس العاشر Try and Catch
قبل الدخول في بيانات Try / Catch ، دعنا نتحدث عن الاستثناءات. يتم طرح الاستثناءات في كل مرة يحدث فيها خطأ. مثال: يتم إستخدام ArrayIndexOutOfBounds إذا تم الوصول إلى الفهرس غير الموجود في المصفوفة (على سبيل المثال: محاولة الوصول إلى arr [5]
، ولكن arr[4]
يرتفع فقط للوصول إلى خطأ الحساب يتم طرحه إذا تم إجراء عملية حسابية غير قانونية (مثل: 42/0 ، القسمة على صفر)
هناك الكثير من الاستثناءات التي يمكن أن تطرحها Java (أكثر مما سبق).
ولكن ، كيف يمكنك التعامل مع الاستثناءات ، عندما تكون غير متأكد من حدوث خطأ.
هذا هو الغرض من Try / Catch! هذه هي صيغة Try / Catch:
try { // الرمز هنا } catch (ExceptionHere name) { // Replace Exception هنا مع الاستثناء الخاص بك واسم باسم الاستثناء الخاص بك. // Code إذا تم طرح الاستثناء "ExceptionHere". }
ستتم محاولة تشغيل التعليمات البرمجية بعد كتلة Try. إذا تم طرح الاستثناء في عبارة Catch أثناء تشغيل التعليمات البرمجية في كتلة Try، فقم بتشغيل التعليمات البرمجية في كتلة التقاط.
يمكنك إخبار المستخدم بوجود مشكلة أو أي شيء آخر.
ملاحظة: يمكنك أيضًا استخدام الاستثناء كاستثناء للقبض على أي استثناء تم طرحه.
تمرين
في هذا التمرين ، ستحاول التقاط رمز إشكالي. سوف أقوم بإنشاء كتلة رمز إشكالية. أريدك أن تلف الشفرة المسببة للمشكلة في كتلة Try، بدلاً من جعلها تطبع “مشكلة في الشفرة المكتشفة” إذا تم طرح الاستثناء.
ملاحظة: استخدم ArrayIndexOutOfBoundsException كاستثناء أو استثناء كاستثناء.
public class Main { public static void main(String[] args) { int[] arr = new int[10]; System.out.println(arr[9001]); } }
الحل
public class Main { public static void main(String[] args) { int[] arr = new int[10]; try { System.out.println(arr[9001]); } catch (ArrayIndexOutOfBoundsException ex) { System.out.println("Problem with code detected"); } } }
سنحصل على النتيجة التالية عند التشغيل
Problem with code detected