الانتقال إلى المحتوى الرئيسي
eLearner.app
الوحدة 5 · الدرس 1 من 29/14 في الدورة~12 min
دروس الوحدة (1/2)

كتل محاولة الالتقاط

In Java, runtime errors are handled using Exceptions. Exception handling allows us to intercept anomalous conditions and prevent the program from crashing.

The try-catch structure

To handle a potential exception, we enclose the risky code in a try block. If an error occurs inside the try block, the JVM stops executing it and searches for a matching catch block to handle the exception.

Code
try {
    int result = 10 / 0; // Generates ArithmeticException
    System.out.println("This will not be printed");
} catch (ArithmeticException e) {
    System.out.println("Arithmetic error occurred: " + e.getMessage());
}

The finally block

The finally block is optional and is always executed, regardless of whether an exception was thrown. It is ideal for releasing resources or performing cleanup operations.

Code
try {
    System.out.println("Executing logic");
} catch (Exception e) {
    System.out.println("Error");
} finally {
    System.out.println("This block is always executed");
}

Throwing Exceptions: throw

We can intentionally throw an exception using the throw keyword followed by a new instance of an exception class.

Code
public static void checkScore(int score) {
    if (score < 0 || score > 100) {
        throw new IllegalArgumentException("Score must be between 0 and 100");
    }
}

Try it yourself

تمرين#java.m5.l1.e1
المحاولات: 0جارٍ التحميل…

Complete the code by inserting a try-catch block to handle a potential ArithmeticException resulting from the division a / b. In case of an error, print 'Error: division by zero'.

جارٍ تحميل المحرر…
إظهار التلميح

Insert the division operation inside a `try` block and catch `ArithmeticException`, printing the required message.

الحل متاح بعد 3 من المحاولات

تمرين#java.m5.l1.e2
المحاولات: 0جارٍ التحميل…

Complete the code to implement a try-catch-finally block. In the try block, try to convert the string str to an integer using Integer.parseInt. In the catch block, intercept NumberFormatException and print 'Invalid number'. In the finally block, print 'Finally'.

جارٍ تحميل المحرر…
إظهار التلميح

Write the `try { ... } catch (NumberFormatException e) { ... } finally { ... }` block structure.

الحل متاح بعد 3 من المحاولات

تمرين#java.m5.l1.e3
المحاولات: 0جارٍ التحميل…

Complete the checkAge method by throwing an IllegalArgumentException with the message 'Underage' if the provided age is less than 18.

جارٍ تحميل المحرر…
إظهار التلميح

Use `if (age < 18)` and the `throw new` keywords to instantiate and throw the exception.

الحل متاح بعد 3 من المحاولات