
- •1.Структура программы
- •1.1. Типы данных
- •1.1.1. Целые типы
- •1.1.2. Дробные (вещественные) типы
- •1.1.3. Логический тип
- •1.1.4. Строковый тип
- •1.1.5. Арифметические операторы
- •1.1.6. Нечисловые простые типы
- •1.1.7. Текстовые типы
- •2. Операторы ввода/вывода
- •2.1. Операторы ввода
- •2.2. Операторы вывода
- •2.3. Форматированный вывод
- •3. Логические выражения
- •3.1. Операции сравнения
- •3.2.1.Поразрядные операции » и «
- •3.2.2.Булевские операции присваивания
- •4.Ветвления
- •4.1. Тернарная операция
- •4.2.1. Оператор if
- •4.2.1. Внутристроковый условный оператор
- •4.3.1. Оператор switch
- •5. Организация циклов
- •5.1.Циклы do
- •5.2. Циклы while
- •5.3. Циклы for
- •5.4. Прерывание циклов
- •5.5. Бесконечные циклы
- •6. Преобразование типов
- •6.1. Неявное преобразование
- •6.2. Явное преобразование
- •6.3. Явные преобразования с помощью команд Convert
- •7. Массивы
- •7.1. Объявление массива
- •7.2 Циклы foreach
- •7.3. Многомерные массивы
- •7.4. Массивы массивов
- •8.Строки
- •8.Структуры (доделать)
- •9.Функции и процедуры
- •10.Метод Main()
- •11.Работа с файлы
- •12.Обработка ошибок и исключений(try.. .Catch.. .Finally)
12.Обработка ошибок и исключений(try.. .Catch.. .Finally)
Если во время выполнения программы что-то работает неправильно, создается исключение. Исключение останавливает текущий поток программы и если никакие меры не предпринимаются, программа просто прекращает выполнение. Причиной исключений могут быть ошибки в программе (например, деление числа на ноль) или неожиданный ввод (например, выбор несуществующего файла). Задачей программиста является предоставление программе возможности устранить проблемы, не приводя к сбою.
В C# представлено несколько ключевых слов, — try, catch и finally — с помощью которых программа обнаруживает исключения, устраняет их и продолжает выполнение. Они способствуют повышению надежности приложений.
Try и Catch
Ключевые слова try и catch используются вместе. Если предполагается, что блок кода может вызвать исключение, воспользуйтесь ключевым словом try, и используйте catch, чтобы сохранить код, который будет выполнен при возникновении исключения. В этом примере в результате деления на ноль создается исключение, которое затем перехватывается. При отсутствии блоков try и catch произойдет сбой программы.
class ProgramTryCatch{static void Main(){int x=0, y=0;try{x = 10 / y;}catch (System.DivideByZeroException){System.Console.WriteLine("Существует попытка деления на ноль.");}}}
В общем случае рекомендуется явно указывать тип исключения, обнаруженного кодом catch. Каждый try может иметь несколько операторов catch, каждый из которых обрабатывает отдельное исключение.
Блоки finally
Код, содержащийся в блоке finally, выполняется всегда, вне зависимости от возникновения исключения. Чтобы гарантировать возвращение ресурсов, например, убедиться, что файл закрыт, используйте блок finally.
try{}catch (SomeSpecificException ex){}finally{}
Использование обработки исключений
Исключения не всегда означают возникновение в программе серьезной проблемы. Часто с их помощью удобно оставить раздел кода, который больше не является релевантным, или они указывают на неудачное завершение метода. Большинство методов классов .NET Framework создают исключения для предупреждения об определенном условии.
Можно также вызвать собственные исключения, воспользовавшись ключевым словом throw. Пример.
class ProgramThrow{static void DoWork(int x){if (x > 5){throw new System.ArgumentOutOfRangeException("X is too large");}}static void Main(){try{DoWork(10);}catch (System.ArgumentOutOfRangeException ex){System.Console.WriteLine(ex.Message);}}}
Если предполагается возникновение неожиданной ситуации, рекомендуется использовать исключения. Они будут полезны, например, при работе с данными, введенными пользователями, чтении файла или доступе к сведениям из Интернета.