Exceptions - Try...Catch خاصة للمبتدئين في اللغة جافا

الكاتب: Mr.Aziz

تاريخ النشر: 2022-04-17 21:03:45

مساء الخير

 

Exception و ماهو Exception؟

 

تعني أعتراض او أظهار الخطأ بالكود بدل ان يعطيك رسالة Error ممكن انت تضع تعليق يظهر اذا في الكود خطأ.

 

كيف يعني؟

 

مثلآ لو انا كتبت الكود زي كذا

 

 public class Main {

    public static void main(String[] args) {
        int[] myNumbers = {1, 2, 3};
        System.out.println(myNumbers[10]); // error!
    }
}

 

سيظهر خطأ او Error  مثل هذي رسالة

 

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 3
    at Main.main(Main.java:7)

ولكن لو كتبنا الكود مع try - catch 

 

بهذي طريقة راح تطبع لنا كذا

 

 

هنا طبع لنا التعليق تعني الكود الى بين قوسين في Try في خطأ  ولكن لو هي صحيح الكود راح يشتغل بدون اي مشاكل.

 

 

Syntax تبعها تكون بهذي طريقة

 

 

Try: تعني بهذا المكان الى بين قوسين يتم عمل اختبار او Testing في حال الكود صحيح سيظهر لك بشكل صحيح و في حال خطأ اثناء تشغيل سيتنقل الى catch

Catch: سيظهر لك التعليق او الكود اذا الكود في Try خطأ. يعني اذا يوجد مشكلة بالكود بين قوسين Try سيظهر لك Catch ويشتغل الكود مثلآ يوجد لديك خطأ بالكود

 

طبعآ try و catch هم ألاساس و يوجد مكتبات اخرى ممكن نقدر نستخدمها معاها راح اكتب عنها أخر موضوع.

 

المهم خلينا نتكلم عن هذا الكود الى كتبناه

 

زي ماتلاحظون هنا بين قوسين تبع try أشتغل بالبداية وثم يشيك هل يوجد خطأ بالكود أم لا. اذا لايوجد سيطبع لك الكود بشكل صحيح

 

أذا يوجد سيطبع لك مثل ماطبع بالصوره Something went wrong.

 

ايضآ يجي مع try و catch كلمة اسمها Finally

ايش يسوي؟

بعد ماينتهي من Try و catch راح يطبع لك يقول ترا try و catch أنتهى خلاص.

 

مثل هذا الكود

 

 

زي ماتلاحظون بالاخير طبع تبع finally

 

هذي الاداء حلو اذا كان تبي تتأكد الكود تبعك شغال ولالا.

 

طيب في  exception حلو للحماية مثلآ

أعطيكم مثال:

 

لو شخص عمره اقل من 18 لايستطيع تسجيل ويطلعه من برنامج ويقول غير مسموح لك! اذا اعلى يسمح لك

 

اسمه throw

الفايدة الى فيه يظهر لك Error يقول غير صالح الاستخدام او مكان محظور

 

تعالو نطبق مع بعض.

 

 

ألان كتبت كود if then لو المستخدم اقل من 18 راح يظهر له Error و يقول له Access denied زي ماكتبت.

لو المستخدم اكبر من 18  راح يسمح له

 

هذي فكرة Exceptions يعني اعتراض او كل شي يسمح ألا هذا زي كذا.

 

ايضآ يوجد اكثر من نوع في Exception مثل ArithmeticException, FileNotFoundException, ArrayIndexOutOfBoundsException, SecurityException,  و غيره..

 

أن شاء الله وصلت لكم الفكرة

 

أشوفكم على خير