السلام عليكم ،
الموضوع مفتوح ( كعادة مواضيعي ملخبطه ) ،
ماهو الـ 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 ولاتعرف اين المشكله
got it ؟
نكمل بعد شوي :lol: