try / catch / finally
معالجة الاستثناءات try / catch / finally
try-catch-finally تلتقط أخطاء وقت التشغيل وتعالجها بدل توقف البرنامج.
try تحتوي الكود الذي قد يرمي استثناء. catch تلتقط استثناء محدد وتعالجه. finally تُنفّذ دائمًا (نجح أو فشل) وتُستخدم لتحرير الموارد.
الصياغة
try {
// كود قد يرمي خطأ
} catch (ExceptionType e) {
// معالجة الخطأ
} finally {
// يُنفّذ دائمًا
}📄 مثال
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("خطأ: " + e.getMessage());
} finally {
System.out.println("تنظيف الموارد");
}أهم النقاط
| العنصر | الوظيفة |
|---|---|
| try | كتلة الكود الذي قد يرمي استثناء |
| catch (Type e) | التقط استثناء محدد وعالجته |
| finally | كتلة تُنفّذ دائمًا — للتنظيف وتحرير الموارد |
| multi-catch | catch (ArithmeticException | NullPointerException e) |
💡 نصائح عملية
- لا تبتلع الاستثناء بـ catch فارغ — سجّلها أو عالجها بشكل صحيح
- استخدم try-with-resources للفتح التلقائي للملفات بدلاً من finally اليدوية
⚠️ أخطاء شائعة
- catch (Exception e) كأول خيار — تلتقط كل شيء وتخفي أخطاء غير متوقعة
- عدم استخدام finally لتحرير الموارد — يسبب تسريب ملفات أو اتصالات
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.