123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484 |
- # Конспект лекции "Исключения"
- ## 1. Пример
- int x = 5;
- int y = x / 0;
- Console.WriteLine($"Результат: {y}");
- Console.WriteLine("Конец программы");
- Console.Read();
- ## 2. Пример
- try
- {
- int x = 5;
- int y = x / 0;
- Console.WriteLine($"Результат: {y}");
- }
- catch
- {
- Console.WriteLine("Возникло исключение!");
- }
- finally
- {
- Console.WriteLine("Блок finally");
- }
- Console.WriteLine("Конец программы");
- Console.Read();
- ## 3. Пример
- try
- {
- int x = 5;
- int y = x / 0;
- Console.WriteLine($"Результат: {y}");
- }
- catch
- {
- Console.WriteLine("Возникло исключение!");
- }
- ## 4. Пример
- try
- {
- int x = 5;
- int y = x / 0;
- Console.WriteLine($"Результат: {y}");
- }
- finally
- {
- Console.WriteLine("Блок finally");
- }
- ## 5. Пример
- Console.WriteLine("Введите число");
- int x = Int32.Parse(Console.ReadLine());
- x *= x;
- Console.WriteLine("Квадрат числа: " + x);
- Console.Read();
- ## 6. Пример
- Console.WriteLine("Введите число");
- int x;
- string input = Console.ReadLine();
- if (Int32.TryParse(input, out x))
- {
- x *= x;
- Console.WriteLine("Квадрат числа: " + x);
- }
- else
- {
- Console.WriteLine("Некорректный ввод");
- }
- Console.Read();
- ## 7. Пример
- try
- {
- int x = 5;
- int y = x / 0;
- Console.WriteLine($"Результат: {y}");
- }
- catch(DivideByZeroException)
- {
- Console.WriteLine("Возникло исключение DivideByZeroException");
- }
- ## 8. Пример
- int x = 1;
- int y = 0;
-
- try
- {
- int result = x / y;
- }
- catch(DivideByZeroException) when (y==0 && x == 0)
- {
- Console.WriteLine("y не должен быть равен 0");
- }
- catch(DivideByZeroException ex)
- {
- Console.WriteLine(ex.Message);
- }
- ## 9. Пример
- try
- {
- int x = 5;
- int y = x / 0;
- Console.WriteLine($"Результат: {y}");
- }
- catch (Exception ex)
- {
- Console.WriteLine($"Исключение: {ex.Message}");
- Console.WriteLine($"Метод: {ex.TargetSite}");
- Console.WriteLine($"Трассировка стека: {ex.StackTrace}");
- }
- Console.Read();
- ## 10. Пример
- try
- {
- int[] numbers = new int[4];
- numbers[7] = 9; // IndexOutOfRangeException
- int x = 5;
- int y = x / 0; // DivideByZeroException
- Console.WriteLine($"Результат: {y}");
- }
- catch (DivideByZeroException)
- {
- Console.WriteLine("Возникло исключение DivideByZeroException");
- }
- catch (IndexOutOfRangeException ex)
- {
- Console.WriteLine(ex.Message);
- }
-
- Console.Read();
- ## 11. Пример
- try
- {
- object obj = "you";
- int num = (int)obj; // InvalidCastException
- Console.WriteLine($"Результат: {num}");
- }
- catch (DivideByZeroException)
- {
- Console.WriteLine("Возникло исключение DivideByZeroException");
- }
- catch (IndexOutOfRangeException)
- {
- Console.WriteLine("Возникло исключение IndexOutOfRangeException");
- }
-
- Console.Read();
- ## 12. Пример
- try
- {
- object obj = "you";
- int num = (int)obj; // InvalidCastException
- Console.WriteLine($"Результат: {num}");
- }
- catch (DivideByZeroException)
- {
- Console.WriteLine("Возникло исключение DivideByZeroException");
- }
- catch (IndexOutOfRangeException)
- {
- Console.WriteLine("Возникло исключение IndexOutOfRangeException");
- }
- catch (Exception ex)
- {
- Console.WriteLine($"Исключение: {ex.Message}");
- }
- Console.Read();
- ## 13. Пример
- try
- {
- Person p = new Person { Name = "Tom", Age = 17 };
- }
- catch (Exception ex)
- {
- Console.WriteLine($"Ошибка: {ex.Message}");
- }
- Console.Read();
- class Person
- {
- private int age;
- public string Name { get; set; }
- public int Age
- {
- get { return age; }
- set
- {
- if (value < 18)
- {
- throw new Exception("Лицам до 18 регистрация запрещена");
- }
- else
- {
- age = value;
- }
- }
- }
- }
- ## 14. Пример
- try
- {
- Person p = new Person { Name = "Tom", Age = 17 };
- }
- catch (PersonException ex)
- {
- Console.WriteLine("Ошибка: " + ex.Message);
- }
- Console.Read();
- class Person
- {
- private int age;
- public int Age
- {
- get { return age; }
- set
- {
- if (value < 18)
- throw new PersonException("Лицам до 18 регистрация запрещена");
- else
- age = value;
- }
- }
- }
- ## 15. Пример
- class Person
- {
- public string Name { get; set; }
- private int age;
- public int Age
- {
- get { return age; }
- set
- {
- if (value < 18)
- throw new PersonException(
- "Лицам до 18 регистрация запрещена",
- value);
- else
- age = value;
- }
- }
- }
- try
- {
- Person p = new Person { Name = "Tom", Age = 13 };
- }
- catch (PersonException ex)
- {
- Console.WriteLine($"Ошибка: {ex.Message}");
- Console.WriteLine($"Некорректное значение: {ex.Value}");
- }
- Console.Read();
- ## 16. Пример
- try
- {
- TestClass.Method1();
- }
- catch (DivideByZeroException ex)
- {
- Console.WriteLine($"Catch в Main : {ex.Message}");
- }
- finally
- {
- Console.WriteLine("Блок finally в Main");
- }
- Console.WriteLine("Конец метода Main");
- Console.Read();
- class TestClass
- {
- public static void Method1()
- {
- try
- {
- Method2();
- }
- catch (IndexOutOfRangeException ex)
- {
- Console.WriteLine($"Catch в Method1 : {ex.Message}");
- }
- finally
- {
- Console.WriteLine("Блок finally в Method1");
- }
- Console.WriteLine("Конец метода Method1");
- }
- static void Method2()
- {
- try
- {
- int x = 8;
- int y = x / 0;
- }
- finally
- {
- Console.WriteLine("Блок finally в Method2");
- }
- Console.WriteLine("Конец метода Method2");
- }
- }
- ## 17. Пример
- try
- {
- int x = 8;
- int y = x / 0;
- }
- finally
- {
- Console.WriteLine("Блок finally в Method2");
- }
- ## 18. Пример
- try
- {
- Console.Write("Введите строку: ");
- string message = Console.ReadLine();
- if (message.Length > 6)
- {
- throw new Exception(
- "Длина строки больше 6 символов");
- }
- }
- catch (Exception e)
- {
- Console.WriteLine($"Ошибка: {e.Message}");
- }
- Console.Read();
- ## 19. Пример
- try
- {
- try
- {
- Console.Write("Введите строку: ");
- string message = Console.ReadLine();
- if (message.Length > 6)
- {
- throw new Exception(
- "Длина строки больше 6 символов");
- }
- }
- catch
- {
- Console.WriteLine("Возникло исключение");
- throw;
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- ## 20. Пример
- double? pi = 3.14;
- char? letter = 'a';
- int m2 = 10;
- int? m = m2;
- bool? flag = null;
- // An array of a nullable value type:
- int?[] arr = new int?[10];
- ## 21. Пример
- int? a = 42;
- if (a is int valueOfA)
- {
- Console.WriteLine($"a is {valueOfA}");
- }
- else
- {
- Console.WriteLine("a does not have a value");
- }
-
- ## 22. Пример
- int? b = 10;
- if (b.HasValue)
- {
- Console.WriteLine($"b is {b.Value}");
- }
- else
- {
- Console.WriteLine("b does not have a value");
- }
- ## 23. Пример
- int? c = 7;
- if (c != null)
- {
- Console.WriteLine($"c is {c.Value}");
- }
- else
- {
- Console.WriteLine("c does not have a value");
- }
- ## 24. Пример
- int? a = 28;
- int b = a ?? -1;
- Console.WriteLine($"b is {b}"); // output: b is 28
- int? c = null;
- int d = c ?? -1;
- Console.WriteLine($"d is {d}"); // output: d is -1
-
- ## 25. Пример
- int a = 41;
- object aBoxed = a;
- int? aNullable = (int?)aBoxed;
- Console.WriteLine($"Value of aNullable: {aNullable}");
- object aNullableBoxed = aNullable;
- if (aNullableBoxed is int valueOfA)
- {
- Console.WriteLine($"aNullableBoxed is boxed int: {valueOfA}");
- }
|