|
|
Опубликовано 12.04.2015 22:22:03
|
|
|

Функция обработки исключений языка C# помогает справляться с неожиданными или необычными ситуациями, возникающими во время работы вашей программы. Обработка исключений использует ключевые слова try, catch и, наконец, чтобы попробовать определённые операции и обрабатывать сбои, и хотя эти операции могут привести к неудаче, вы можете попробовать, если уверены, что это нужно и хотите очистить ресурсы после этого. Среда выполнения общего языка (CLR), . NET Framework или любая сторонняя библиотека или код приложения может создавать исключения. Исключения создаются с помощью ключевого слова throw. Во многих случаях исключения могут возникать не методом, вызываемым напрямую кодом, а другим способом ниже по стеку вызовов. В этом случае CLR расширяет стек, чтобы проверить, содержит ли блок захвата для конкретного типа исключения, и если он находит такой метод, выполняет первый найденный такой блок. Если в стеке вызовов не найдено соответствующего блока catch, процесс завершается, и пользователю отображается сообщение. В этом примере используется метод для определения ситуации, когда он делится на ноль; Если она есть, ошибка фиксируется. Если нет обработки исключений, программа завершит работу и выдаст ошибку «DivideByZeroException Not Handled».- class ExceptionTest
- {
- static double SafeDivision(double x, double y)
- {
- if (y == 0)
- throw new System.DivideByZeroException();
- return x / y;
- }
- static void Main()
- {
- // Input for test purposes. Change the values to see
- // exception handling behavior.
- double a = 98, b = 0;
- double result = 0;
- try
- {
- result = SafeDivision(a, b);
- Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
- }
- catch (DivideByZeroException e)
- {
- Console.WriteLine("Attempted divide by zero.");
- }
- }
- }
Копирование кода
|
Предыдущий:C# определяет, содержит ли строка символСледующий:Узнайте, создан ли сайт программой форума Discuz
|