نحن نعلم أن المحاولة مسؤولة عن كتابة الرموز التي قد تنتج استثناءات ؛ Catch مسؤول عن التعامل مع الاستثناءات المحتملة في المحاولة ، مثل تسجيل سجلات الأخطاء لتمكين الأعمال من التشغيل بشكل طبيعي ؛ أخيرًا ، المسؤول عن العمل الآثار مثل إصدار الموارد ، والرمز الذي يجب تنفيذه بغض النظر عما إذا كان هناك أم لا يتم وضعه بشكل عام في النهاية. إذا كان الصيد وأخيراً تجربة استثناءات أيضًا ، فماذا سيكون التأثير؟
حاول {// java.lang.arithMeticexception int a = 1/0 ؛ } catch (استثناء e) {system.out.println ("catch") ؛ // java.lang.nullpointerxception value = null ؛ System.out.println (value.length ()) ؛ } أخيرًا {system.out.println ("أخيرًا") ؛ // java.lang.arrayIndexOutofBoundSexception int [] array = {1 ، 2 ، 3} ؛ System.out.println (Array [6]) ؛ }نتيجة التنفيذ النهائية لهذا الرمز هي: سيتم طرح ArrayIndExOutofBoundSexception. يحدث استثناء في الكود في المحاولة ، وسيتم تنفيذ الصيد المقابل ؛
إذا حدث استثناء عند الصيد ، فسيتم تنفيذه أخيرًا ؛ إذا كان هناك استثناء أخيرًا ، فسيتم طرحه مباشرة على JVM لأنه لم تتم معالجته. إذا لم تستخدم هنا
أخيرًا ، سيتم إلقاء nullpointerxception.
هذا يعني أن الاستثناءات التي تظهر في الصيد وأخيراً سيتم طرحها مباشرة. إذا لم نعالجها ، فسيتم إنشاء خطأ في وقت التشغيل. هذا يذكرنا أنه في حالة حدوث استثناءات من الصيد والاستثناءات أخيرًا ، يجب معالجة Try-Catch مرة أخرى.
بعض الأشياء البارزة (يجب قراءتها) في المقالة أعلاه "Try-Catch-Finally" هي المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.