الاستثناء: هناك بعض الاستثناءات ناتجة عن أخطاء المستخدم ، وبعضها ناتج عن أخطاء في البرنامج ، والبعض الآخر ناتج عن أخطاء مادية.
الكلمات الرئيسية معالجة الاستثناءات: حاول ، انتقل ، أخيرًا ، رمي ، رميات
ملحوظات:
تصنيف غير طبيعي:
القواعد:
جرب {// كتلة الكود التي يجب الاستماع إليها إلى} catch (نوع الاستثناء اسم الاستثناء /e) {// تعامل مع كتلة الكود التي تجذب الخطأ الذي تستمع إلى المحاولة لرمي اسم الاستثناء /e ؛ // thorw يعني رمي استثناء نوع استثناء جديد ("مخصص") ؛} أخيرًا {// ، سيتم تنفيذ العبارات الواردة في الكتلة أخيرًا بغض النظر عما إذا كان الاستثناء يحدث أم لا} يتم استخدام طريقة قيمة الإرجاع المعدلة () نوع الاستثناء {// رميات فقط لإعلان الاستثناءات ، وما إذا كان يتم تحديدها بواسطة Method Caller // code block}}مثال رمز: (حاول والتقاط وأخيرا)
استثناء الفئة العامة {public static void main (string [] args) {scanner input = new Scanner (system.in) ؛ حاول {// استمع إلى كتلة الكود int a = input.nextint () ؛ int b = input.nextint () ؛ مجموع مزدوج = a/b ؛ system.out.println (sum) ؛ } catch (inputMismatchException e) {system.out.println ("فقط إدخال الأرقام") ؛ } catch (ArithMeticexception e) {system.out.println ("لا يمكن أن يكون المقام 0") ؛ } catch (استثناء e) {// الاستثناء هو system.out.println من الفئة الأصل ("لقد حدثت استثناءات أخرى") ؛ } أخيرًا {// بغض النظر عما إذا كان هناك استثناء ، System.out.println ("End Program") ؛ }}}مثال رمز: (رمي الكلمة الرئيسية)
استيراد java.util.inputmismatchException ؛ استيراد java.util.scanner ؛ استثناء الفئة العامة {public static void main (string [] args) {scanner input = new scanner (system.in) ؛ حاول {// الاستماع كتلة الكود int a = input.nextint () ؛ int b = input.nextint () ؛ مجموع مزدوج = a/b ؛ system.out.println (sum) ؛ } catch (inputMismatchException e) {// catch (اسم استثناء نوع الاستثناء) system.out.println ("فقط أرقام إدخال") ؛ رمي ه ؛ // أعلى الاستثناء الذي تم صيده بواسطة catch // رمي inportMismatchException () جديد ؛ كما هو موضح أعلاه} catch (ArithMeticexception e) {system.out.println ("لا يمكن أن يكون المقام 0") ؛ رمي ArithMeticexception ("المقام هو 0 يلقي استثناء") ؛ // أعلى استثناء ArithMeticexception} catch (استثناء e) {// الاستثناء هو الفئة الوالدية لجميع الاستثناءات system.out.println ("لقد حدثت استثناءات أخرى") ؛ } أخيرًا {// بغض النظر عما إذا كان هناك استثناء أم لا ، سيتم تنفيذها أخيرًا system.out.println ("نهاية البرنامج") ؛ }}}مثال رمز: (رميات)
يلقي الفئة العامة {int a = 1 ؛ int b = 0 ؛ public void out () يلقي ArithMeticexception {// إعلان الاستثناء الذي يمكن إلقاؤه ، قد يكون هناك استثناءات متعددة مفصولة بواسطة commas {// supert code block int sum = a/b ؛ system.out.println (sum) ؛}} أخيرًا {// بغض النظر عما إذا كان هناك استثناء ، سيتم تنفيذه أخيرًا system.out.println ("End Program") ؛}} Main Public Static Void Main (String [] args) {throws t = new trows () ؛ t.out () ؛ // استدعاء الطريقة رمي ArithMeticexception ("المقام هو 0 ويلقي استثناء") ؛ // هل تقرر الطريقة المسمى ما إذا كان سيتم رمي استثناء/** طريقة الرمي الثانية* /// ArithMeticexception a = new ArithMeticeSception ("المقام هو 0 ويلمي استثناء") ؛ // رمي A ؛}}