Errors مبتدئ

معالجة استثناءات متعددة في كتلة catch واحدة

اصطد أنواع استثناءات متعددة في كتلة catch واحدة.

✕ Pre-Java 7
try {
    process();
} catch (IOException e) {
    log(e);
} catch (SQLException e) {
    log(e);
} catch (ParseException e) {
    log(e);
}
✓ Java 7+
try {
    process();
} catch (IOException
    | SQLException
    | ParseException e) {
    log(e);
}
هل ترى مشكلة في هذا الكود؟ أخبرنا.
📏

لا تكرار

نفس منطق المعالجة مكتوب مرة واحدة بدلاً من ثلاث.

🔄

قابل لإعادة الرمي

يمكن إعادة رمي الاستثناء المصطاد بنوعه الدقيق.

📖

قابل للمسح

جميع الأنواع المعالَجة مرئية في مكان واحد.

الأسلوب القديم
كتل catch منفصلة
الأسلوب الحديث
Multi-catch
منذ JDK
7
الصعوبة
مبتدئ
معالجة استثناءات متعددة في كتلة catch واحدة
متاح

متاح على نطاق واسع منذ JDK 7 (يوليو 2011)

يعالج Multi-catch أنواع استثناءات متعددة بنفس الكود. متغير الاستثناء نهائي فعلياً لذا يمكن إعادة رميه دون تغليف.

مشاركة 𝕏 🦋 in