Cvičení – dokončení aktivity výzvy pro zachycení konkrétních výjimek
Výzvy kódu v tomto modulu slouží k posílení toho, co jste se naučili, a pomáhají vám získat jistotu, než budete pokračovat dál.
Výzva na zachycení konkrétních výjimek
V této výzvě máte k dispozici ukázku kódu, která generuje několik různých typů výjimek. Jeden try blok kódu obsahuje kód, který generuje výjimky. Pro zpracování konkrétních typů výjimek je zahrnuto více catch klauzulí.
Je potřeba aktualizovat vzorový kód tak, aby se zachytila každá výjimka a v konzole se zobrazila odpovídající chybová zpráva.
Tady jsou požadavky na tuto výzvu:
Ujistěte se, že soubor Program.cs obsahuje následující vzorový kód:
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.");Aktualizujte kód tak, aby se každá chybová zpráva zobrazovala v konzole, když dojde k tomuto typu výjimky.
Ověřte, že aktualizovaný kód vypíše do konzoly následující zprávy:
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.
Hodně zdaru!