تعلم لغة الجافا – الدرس الرابع عشر الاستثناءات Exceptions
يتم التعامل مع الاستثناءات باستخدام عبارات Try / catch. يجب أن تتبع جميع التعليمات البرمجية التي قد تؤدي إلى استثناء متطلبات Catch أو Specify. لاتباع هذا المطلب ، ما عليك سوى لف الكود الذي قد يلقي خطأ في كتلة المحاولة.
إذا لم تكن مناسبة لسبب ما أو لم تتمكن من استخدام المحاولة / الالتقاط ، يجب عليك تحديد جميع الاستثناءات التي يمكن أن ترميها الطريقة / الوظيفة باستخدام الكلمة الأساسية للرميات
public void writeFile() throws IOException
يمكنك أيضًا طرح استثناء في الكود باستخدام رمي جديد:
throw new IllegalArgumentException("Number not above 0"); /* Will print Exception in thread "Main": java.lang.IllegalArgumentException: Number not above 0 */
تتم معالجة الاستثناءات باستخدام try / catch ، والتي يتم تناولها في درس سابق:
try { System.out.println(arr[10]); catch (ArrayIndexOutOfBoundsException ex) { System.out.println("Error in try block"); }
تمرين
اكتب رمزًا في البرنامج التعليمي لإلقاء IllegalArgumentException إذا (n <0). يجب أن تظهر “خطأ” كتوصيف. تلميح: انظر إلى الناتج المتوقع ، وفي مقتطف الرمز الثاني
public class Main { public static void main(String[] args) { int n = -1; } }
الحل
public class Main { public static void main(String[] args) { int n = -1; if (n < 0) { throw new IllegalArgumentException("Error") } } }
سنحصل على النتيجة التالية عند التشغيل
Main.java:5: error: ';' expected throw new IllegalArgumentException("Error") ^ 1 error