freeCodeCamp/guide/arabic/computer-science/error-handling/index.md

3.7 KiB

title localeTitle
Error Handling معالجة الأخطاء

معالجة الأخطاء

معالجة الخطأ ، وإلى حد أكبر ، معالجة الاستثناء ، هي وظائف / أساليب مكتوبة لإرجاع معلومات هامة حول معالجة البيانات. غالبًا ما يتم استخدام معالجة الأخطاء جنبًا إلى جنب مع Promises و Callbacks. يعتبر التعامل مع الأخطاء أمرًا مهمًا جدًا يجب أن يهتم به كل مطور أثناء البرمجة. هنا سوف أشرح كيفية التعامل مع الأخطاء التي تحدث في وقت التشغيل باستخدام كتل try-catch مع مثال في برامج C #. تتوفر عبارات Try-catch في جميع لغات البرمجة الرئيسية مع بناء الجملة المتشابهة.

كيف تعمل كتلة المحاولة.

تتكون عبارة try-catch من كتلة المحاولة وكتلة catch وحظر اختياري أخيرًا . يجب وضع التعليمات البرمجية التي يمكن طرح استثناء في كتلة المحاولة. تأخذ كتلة catch الاستثناء الذي يمكن طرحه كمعلمة ثم يعالج هذا الاستثناء داخل الكتلة. أثناء وقت التشغيل ، يتم تنفيذ التعليمة البرمجية في كتلة المحاولة أولاً. إذا تم طرح استثناء ، فسيتم طرحه إلى كتلة catch ليتم التعامل معه. إذا لم يكن هناك كتلة catch ، فسوف يعرض البرنامج خطأ استثناء غير معالج ويتوقف عن التشغيل. يتم استخدام كتل catch متعددة إذا كان رمز في كتلة المحاولة يمكن أن يلقي أكثر من استثناء واحد. هناك أيضًا كتلة اختيارية أخيرًا ستنفذ الشفرة فيها بغض النظر عما إذا تم طرح استثناء أم لا.

يوجد أدناه برنامج مثال يتعامل مع القسمة عن طريق استثناء صفري باستخدام فئة معرفة مسبقًا في مكتبة C #. استثناء هو الفئة الأساسية لكافة الاستثناءات.

c# using System; namespace ErrorHandling { class DivideByZero { int result; DivideByZero() { result = 0; } public void division(int num1, int num2) { try { result = num1 / num2; } catch (DivideByZeroException e) { Console.WriteLine("Exception caught: {0}", e); } catch(Exception ex) { Console.WriteLine("Exception caught: {0}", ex); } finally { Console.WriteLine("Result: {0}", result); } } static void Main(string[] args) { DivideByZero d = new DivideByZero(); d.division(10, 0); Console.ReadKey(); } } }

  • في البرنامج أعلاه تمرير 0 كمعلمة ثانية سيتم طرح DivideByZeroExceptions.

  • سيتم التعامل مع هذا الاستثناء بواسطة كتلة catch التي تحتوي على فئة DivideByZeroException. في حالة حدوث أي استثناءات غير DivideByZeroExceptions ، سيتم التعامل معها بواسطة كتلة catch الالتقاط.

    الاستثناء هو الفئة الأساسية لكافة فئات الاستثناءات المتوفرة في مكتبة C #. حتى إذا كنت تريد كتابة الاستثناء الخاص بك ، يجب أن ترث الفئة الأساسية استثناء في البرنامج الخاص بك.

معلومات اكثر:

https://quizlet.com/135129010/computer-science-error-handling-flash-cards/ https://en.wikipedia.org/wiki/Exception_handling