C++الإستثناءات الجاهزة و كيفية تعريف إستثناء جديد
- الإستثناءات الإفتراضية
- مثال حول كيفية تعريف إستثناء جديد
الإستثناءات الإفتراضية
قبل شرح كيفية تعريف إستثناء جديد, يجب أن تعرف كيف تم بناء الإستثناءات الجاهزة في اللغة.
بشكل عام std::exception هو الكلاس الأساسي لأي إستثناء يتم تعريفه لذلك يجب على أي كلاس يمثل إستثناء أن يرث منه.
بعد أن يرث منه, يجب أن يفعل Override لدالة إسمها what()
ليحدد فيها قيمة الإستثناء الذي سيتم رميه.
الصورة التالية تظهر لك الإستثناءات الجاهزة في C++ و كيف أنها ترث من الكلاس std::exception.
مثال حول كيفية تعريف إستثناء جديد
في المثال التالي قمنا بتعريف كلاس إسمه MyException
و جعلناه يرث من الكلاس exception
لكي يمثل إستثناء.
في هذا الكلاس قمنا بإعادة تعريف الدالة what()
لجعلها تقوم برمي إستثناء عبارة عن نص (سلسلة أحرف) عندما يتم استدعاءها.
مثال
سنحصل على النتيجة التالية عند التشغيل.
My Exception is thrown! The program is still working properly :)