Введение в обработку исключений в C #
Мы не можем ожидать, что пользователь будет вводить правильные данные все время. Однако, если неправильный или неожиданный ввод будет обработан неправильно, весь код может завершиться сбоем или пойти с бесконечным циклом. Это проблема, которая начинается при выполнении программы из-за непредвиденных условий или входных данных. Например, результат бесконечен, когда число делится на ноль. Обработка исключений - это способ указать программе перейти к следующему блоку кода или предоставить определенный результат в определенных ситуациях. Обработка исключений может быть выполнена с помощью ниже четырех ключевых слов.
- Try: Блок try определяет тип исключения, которое будет обработано. Это где исключение будет поймано. Он всегда будет соединяться с одним блоком захвата.
- Catch: как только блок try определил тип и получил одно исключение во время выполнения, блок catch подтвердит тип используемого обработчика исключений. Этот блок также определяет, где должно быть обработано исключение. Как показывает ключевое слово, это похоже на перехват исключения.
- Наконец: этот блок имеет некоторый набор операторов. Независимо от исключения, операторы, определенные в последнем блоке, всегда будут выполняться.
- Бросок: Когда исключение поймано, ключевое слово броска используется, чтобы показать пойманное исключение.
Вы можете спасти программное обеспечение или ваш код от многих хлопот, определив обработчик исключений. Рекомендуется определять обработчик исключений везде, где есть возможные исключения.
Синтаксис
Всякий раз, когда возникает исключение, объявленный метод перехватывает исключение с помощью ключевого слова try и catch. Нам нужно разместить эту комбинацию на части кода, ожидается исключение. Эти коды называются защищенными кодами. Вы также можете определить более одного ключевого слова catch для одного ключевого слова try. В конце содержимого будет выполнена последняя часть кода, которая будет выполняться независимо от того, было ли вызвано исключение.
Код
try
(
//Define the statement that could cause an exception.
)
Catch(ExceptionName secondException)
(
//error handling code
)
Finally
(
//define the statement that will be executed
)
Как работает обработка исключений в C #?
Есть много предопределенных классов для обработки исключения. Блок try охватывает ту часть кода, которая может вызвать исключение, а catch подтверждает, что делать, когда исключение перехватывается. Последняя часть блока определяет, что должно быть сделано, независимо от того, обнаружено ли исключение, и часть выброса отображает сообщение, если оно установлено.
Классы исключений в C #
В C # доступно много классов, с помощью которых могут быть представлены исключения. Все классы являются производными от основного класса System. Исключение. Есть несколько классов, которые также являются производными от System.ApplicationException и System.SystemException.
Примеры исключительных классов в C #
Исключения происходят из Системы. Исключительный класс. Вот список классов исключений в C #.
исключение | Описание |
System.DivideByZeroException | обрабатывает ошибку при попытке делить число на ноль. |
System.NullReferenceException | обрабатывает ошибку при обращении к объекту, который не существует. |
System.InvalidCastException | обрабатывает ошибку при попытке неверного приведения. |
System.IO.IOException | Вся ошибка ввода-вывода обрабатывается. |
System.FieldAccessException | При попытке доступа к неавторизованному классу |
1. C # попробуй / поймай
Обработка исключений выполняется try и перехватывает блок в C #. Блок try в C # используется для размещения кода, который может вызвать исключение. Исключение обрабатывается блоком catch.
C # пример без try / catch
Код:
using System;
public class exceptionhandling
(
public static void Main(string() args)
(
int a = 10;
int b = 0;
int x = a/b; //we are trying to divide the number with zero
Console.WriteLine("other part of the code");
)
)
Выход:
Пример C / Try / Catch
Код
using System;
public class ExExample
(
public static void Main(string() args)
(
try
(
int a = 10;
int b = 0;
int x = a / b;
)
catch (Exception e) ( Console.WriteLine(e); )
Console.WriteLine("Rest of the code");
)
)
Выход:
Использование исключительных классов в C # наконец
Он покажет вам сообщение независимо от того, что исключение поймано.
Код
using System;
public class Exceptionhandling
(
public static void Main(string() args)
(
try
(
int x = 5;
int y= 0;
int z = x / y;
)
catch (Exception obj) ( Console.WriteLine(obj); )
finally ( Console.WriteLine("Time to execute finally block"); )
Console.WriteLine("Other part of the code");
)
)
Выход:
1. C #, наконец, пример, если исключение не обрабатывается
Код
using System;
public class ExceptionHandling
(
public static void Main(string() args)
(
try
(
int p = 6;
int q = 0;
int r= p/q;
)
catch (NullReferenceException nullObject) ( Console.WriteLine(nullObject); )
finally ( Console.WriteLine("Exception not handled. Now Finally section will be executed"); )
Console.WriteLine("Other part of the code");
)
)
Выход:
2. C # пользовательское исключение
Определена не только система, но мы также можем установить собственное исключение. Однако нам нужно унаследовать код, чтобы это сделать.
Код
using System;
public class userdefinedInvalidAge : Exception
(
public userdefinedInvalidAge (String errorMessage)
: base(errorMessage)
(
)
)
public class TestUserDefinedException
(
static void validateAge(int age)
(
if (age < 18)
(
throw new userdefinedInvalidAge("Sorry, Age must be greater than 18");
)
)
public static void Main(string() args)
(
try
(
validateAge(12);
)
catch (userdefinedInvalidAge e) ( Console.WriteLine(e); )
Console.WriteLine("Rest of the code");
)
)
Выход:
Вывод
В любом месте вы думаете, что это может привести к ошибке из-за чего-либо, следует использовать обработчик исключений. Крайне важно, чтобы вы использовали оператор catch и начинали с общего до определенного исключения. Все ваше программное обеспечение или код находится в опасности без надлежащего обработчика исключений.
Рекомендуемые статьи
Это руководство по обработке исключений в C #. Здесь мы обсудим, как работает обработка исключений в C #, примеры и использование c #. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-
- Перегрузка в C #
- Строковые функции C #
- Использование C #
- C # если заявление
- Руководство по обработке исключений в VB.NET
- Перегрузка и переопределение в C #
- События VB.Net