الجملة Throw
في بعض الأحيان عندما نقوم بتصميم دالة Method في فصيلة ما ونعرف أن هذه الدالة ستلقى باستثناء فمن المستحب أن تجعل مستخدم الدالة هو الذي يقوم بمعالجة الاستثناء وللتوضيح اكثر تعال معي نرى نص البرنامج التالي:
مثال:
في هذه السطور:
يتم اختبار قيمة المتغير b وذلك باستعمال الأمر if كما في السطر
If(b==0)
فإذا كانت قيمة المتغير تساوي 0 يتم تنفيذ الامر throw الذي يرسل رسالة كما في السطر:
Throw(“Divide by zero error.”);
في هذا السطر يتم إرسال الرسالة “Divide by zero error.” إلى البلوك catch للتعامل معها وإظهارها ويظهر ذلك كما في نتيجة التنفيذ كما في الشكل:
مثال:
في هذا المثال يتم استعمال الكلمة throw أكثر من مرة كما في السطور التالية:
في هذه السطور:
تم التعامل مع أخطاء غير قياسية أي غير معرف في اللغة لذلك يتم استعمال الامر if لتحديد حالة الخطأ ثم استعمال كلمة throw لتوجيه التنفيذ إلى بلوك catch لمعالجة هذا الخطأ وتكون نتيجة التنفيذ مختلفة حسب القيمة المدخلة كما في الشكل: