كتلة Finally
جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 41 من 59.
تحتوي كتلة finally على كود سيتم تنفيذه بعد كتل try-catch، سواء حدث استثناء أم لا. تُستخدم عادةً لعمليات التنظيف مثل إغلاق الملفات أو اتصالات قاعدة البيانات.
إليك الهيكل الأساسي لكتلة try-catch-finally:
try {
// الكود الذي قد يتسبب في استثناء
} catch (ExceptionType e) {
// الكود الخاص بمعالجة الاستثناء
} finally {
// الكود الذي يتم تنفيذه دائماً
}لنلقِ نظرة على مثال باستخدام عداد:
int counter = 0;
try {
int result = 10 / 0;
// سيؤدي هذا إلى طرح استثناء
counter = 1;
} catch (ArithmeticException e) {
counter = 2;
} finally {
counter = 3;
// سيتم تنفيذ هذا دائمًا
}بعد تنفيذ الكود أعلاه، يحتوي counter على:
3
التحدي
سهلأنشئ دالة باسم processNumber تأخذ وسيطين:
- سلسلة نصية (
number) لتحويلها إلى عدد صحيح - قيمة منطقية (
shouldThrow) تحدد ما إذا كان يجب طرح استثناء
يجب أن تقوم الدالة بما يلي:
- تهيئة متغير result بالقيمة 0
- في كتلة try:
- إذا كانت shouldThrow هي true، فقم بقسمة 10 على 0
- خلاف ذلك، قم بتحويل السلسلة النصية number إلى عدد صحيح وتخزينها في result
- في كتلة catch: قم بتعيين result إلى -1
- في كتلة finally: أضف 100 إلى result
- إرجاع result كـ string
جرّب بنفسك
import java.util.Scanner;
public class Main {
public static String processNumber(String number, boolean shouldThrow) {
// اكتب الكود الخاص بك هنا
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String number = scanner.nextLine();
boolean shouldThrow = Boolean.parseBoolean(scanner.nextLine());
System.out.println(processNumber(number, shouldThrow));
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكمتدرّب بنفسك: مترجم Java عبر الإنترنت