برمجة جافا/الأخطاء (Exceptions)
ماهو الـ Exception ?
ببساطة هو استثناء لـ normal flow ببرنامجك،
معنى هذا أن ما يحصل كل مرة، فهو استثناء Exception
ما أهميته ؟ ooh
عندما تقول ما أهمية الException وكأنك ستحكم على برنامجك بالموت المؤبد،
لأن بنسبة 80% (إن لم تخني الذاكرة) من مشاكل البرامج الكبيرة هي من صعوبة عمل handling للـ Errors التي فيها
جميل جداً، قبل أن نتطرق للExceptions in java فيه شئ بسيط نلمحه بسرعة
Stack call
stack هو data structure بمبدأ Last In First Out -LIFO
ببساطة كل Thread (لاتنسى أن برنامجك يبدأ بthread اسمها main) لها stack خاص فيها
عندما تقوم بتشغيل البرنامج يكون في أسفل الstack الmain method
عندما تنادي method أخرى تضاف هذه المثد إلى الstack، مثال:
class A{ public static void main(String... args){
go(); } static void go(){ went(); }
static void went(){}}
stack will be :
A.went
A.go A.main
عندما تنتهي جميع methods في stack ينتهي برنامجك، بمعنى عندما تنادى المثد went وتعملها execute والمثد go بعدها والمثد main فالبرنامج ينتهي
هذا المفهوم مهم جداً في حياتك مع الجافا لأنه عادة يتم طباعة هذا الstack بالمثد e.printStackTrace ولاتعرف أين المشكلة
للمزيد