تمرين - إكمال نشاط تحدي لالتقاط استثناءات محددة
تستخدم تحديات التعليمات البرمجية في هذه الوحدة لتعزيز ما تعلمته ومساعدتك على اكتساب بعض الثقة قبل المتابعة.
تحدي التقاط استثناءات محددة
في هذا التحدي، يتم تزويدك بعينة التعليمات البرمجية التي تنشئ عدة أنواع استثناء مختلفة. تحتوي كتلة التعليمات البرمجية الفردية try على التعليمات البرمجية التي تنشئ الاستثناءات. يتم تضمين عبارات متعددة catch لمعالجة أنواع استثناءات معينة.
تحتاج إلى تحديث نموذج التعليمات البرمجية بحيث يتم التقاط كل استثناء وعرض رسالة الخطأ المقابلة إلى وحدة التحكم.
فيما يلي متطلبات هذا التحدي:
تأكد من أن ملف Program.cs يحتوي على نموذج التعليمات البرمجية التالي:
try { int num1 = int.MaxValue; int num2 = int.MaxValue; int result = num1 + num2; Console.WriteLine("Result: " + result); string str = null; int length = str.Length; Console.WriteLine("String Length: " + length); int[] numbers = new int[5]; numbers[5] = 10; Console.WriteLine("Number at index 5: " + numbers[5]); int num3 = 10; int num4 = 0; int result2 = num3 / num4; Console.WriteLine("Result: " + result2); } catch (OverflowException ex) { Console.WriteLine("Error: The number is too large to be represented as an integer." + ex.Message); } catch (NullReferenceException ex) { Console.WriteLine("Error: The reference is null." + ex.Message); } catch (IndexOutOfRangeException ex) { Console.WriteLine("Error: Index out of range." + ex.Message); } catch (DivideByZeroException ex) { Console.WriteLine("Error: Cannot divide by zero." + ex.Message); } Console.WriteLine("Exiting program.");قم بتحديث التعليمات البرمجية بحيث يتم عرض كل رسالة خطأ إلى وحدة التحكم عند حدوث نوع الاستثناء هذا.
تحقق من أن التعليمات البرمجية المحدثة تطبع الرسائل التالية إلى وحدة التحكم:
Error: The number is too large to be represented as an integer. Arithmetic operation resulted in an overflow. Error: The reference is null. Object reference not set to an instance of an object. Error: Index out of range. Index was outside the bounds of the array. Error: Cannot divide by zero. Attempted to divide by zero. Exiting program.
حظ سعيد!