انتقل إلى المحتوى

برمجة جافا/الأخطاء (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 ولاتعرف أين المشكلة

للمزيد

الفريق العربي للبرمجة