вторник, 26 июня 2012 г.

C# Обработка исключительных ситуаций (Try-Catch)

Исключительная ситуация (или исключение) — это ошибка, которая возникает во время выполнения программы. Используя C#-подсистему обработки исключительных ситуаций, с такими ошибками можно справляться.

Преимущество подсистемы обработки исключений состоит в автоматизации создания большей части кода, который ранее необходимо было вводить в программы “вручную”. Например, в любом компьютерном языке при отсутствии такой подсистемы практически каждый метод возвращал коды ошибок, и эти значения проверялись вручную при каждом вызове метода. Такой подход довольно утомителен, кроме того, при этом возможно возникновение ошибок. Обработка исключений упрощает “работу над ошибками”, позволяя в программах определять блок кола, именуемый обработчиком исключений, который будет автоматически выполняться при возникновении определенной ошибки. В этом случае не обязательно проверять результат выполнения каждой конкретной операции или метода вручную. Если ошибка возникнет, ее должным образом обработает обработчик исключений.

Еще одним преимуществом обработки исключительных ситуаций в C# является определение стандартных исключений для таких распространенных программных ошибок, как деление на нуль или попадание вне диапазона определения индекса. Чтобы отреагировать на возникновение таких ошибок, программа должна отслеживать и обрабатывать эти исключения.
Использование Try-Catch блоков
 try {
 // Блок кода, подлежащий проверке на наличие ошибок.
}
catch{
// Обработчик для исключения
}
Пример:
        private void Form1_Load(object sender, EventArgs e)
        {
            try {
                //Создём код, возвращающий ошибку
                string s = "text";
                int i = Convert.ToInt32(s);
                MessageBox.Show("Это показывать не будет");
            }
            catch
                //обработка исключения
                MessageBox.Show("Сработало исключение");
            
            }
        }

Исключений может быть множество, не обязательно одно.
Выглядеть это будет таким образом:
try {
 // Блок кода, предназначенный для обработки ошибок.
}
catch(ExcepType1 exOb) {
// Обработчик для исключения типа ExcepType1
}
catch(ExcepType2 exOb) {
// Обработчик для исключения типа ExcepType2
}
catch(ExcepType3 exOb) {
// Обработчик для исключения типа ExcepType3
}
Использование таких блоков обезопасит вас от аварийной остановки приложения в случае возникновения ошибки.

0 коммент.:

Отправить комментарий

TROCKII БЛОГ Copyright © 2012 | Template created by Lev Trockii |