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
, و غيره..
أن شاء الله وصلت لكم الفكرة
أشوفكم على خير