Обробка винятків у VB.NET - Вивчіть приклади для роботи з винятками

Зміст:

Anonim

Вступ про обробку винятків у Vb.Net

Наступна стаття Поводження з винятками у VB.NET надає детальний контур для обробки виключень у VB.Net. Ласкаво просимо до теми обробки винятків у VB.NET. Давайте дізнаємося, що таке обробка виключень - це те, як відбуваються різні винятки та як ми поводимося з цими винятками. Винятки трапляються, коли ми запускаємо програму, і виявляється помилка, яка призводить до винятку, який може бути або Системним винятком, або Прикладом. Ми дізнаємось більше про це в Класах винятку далі. У цій темі ми дізнаємось про обробку винятків у VB.NET.

Обробка винятків у VB.NET базується на використанні чотирьох ключових слів, таких як спроба, лов, нарешті та кидки.

  • Спробуйте: Спробуйте блок - це блок коду, який генерує різні винятки в програмі. Для обробки цих винятків, викинутих у блок спробу, ми використовуємо блок catch. Таким чином, за блоком спробу завжди супроводжується один або кілька блоків уловлювання.
  • Catch: Block Catch - це блок коду, який містить оператори, які обробляють винятки, використовуючи обробник винятків у операторі, де сталася проблема. Блок лову - це в основному обробка виключення різними класами виключень, визначеними в бібліотеці винятків.
  • Нарешті: Нарешті блок - це блок коду, який містить заяви, які є обов'язковими операторами, які слід виконувати незалежно від того, кинеться виняток чи не кидається. Припустимо, я маю відкрити файл, прочитати файл, написати файл та закрити файл. У блоці спробу висловлювання - це як відкрити файл, прочитати файл і записати файл, який може або не може викинути виняток, але його потрібно закрити до закінчення програми. Таким чином, у фінальному блоці завжди є такі заяви, як закриття файлів, закриття підключення до бази даних, закриття програми тощо.
  • Throw: Коли виникає проблема, це твердження кидає виняток. Цей виняток може бути вбудованим або визначеним користувачем винятком.

Синтаксис

Код блоку Try-Catch наведено нижче

Try
Catch As
(Catch1 Statements) Catch As
(Catch2 Statements) Catch As
(Catch3 Statements) Finally
(Finally Statements) End Try

Тут у вищезгаданому синтаксисі відображається більше одного блоку вилову для вилучення іншого типу винятків, піднятих блоком спробу. Може статися, що випробувальний блок викидає більше ніж один виняток, і є лише один блок лову, тоді для того, щоб зловити всі винятки, нам знадобиться одне чи кілька заяв на вилов. Таким чином, ми написали більше одного твердження про вилов у синтаксисі вище.

Класи винятку у VB.NET

Як уже згадувалося у вищезазначеному твердженні. Винятки бувають різних типів, і це не що інше, як класи. Батьківський клас, звідки ці класи успадковуються, це System.Exception.

В основному є два винятки

  1. System.SystemException
  2. System.ApplicationException

System.SystemException - це клас для всіх вбудованих системних винятків, або ми можемо сказати, що при помилці часу запуску, коли сталися класи винятків системи, такі як DivideByZeroException, IndexOutOfRangeException, StackOverflowException, є екземпляром.

System.ApplicationException - це клас, який виконує винятки, визначені програмістом або розробником за допомогою програми. Він видає визначене користувачем виключення, яке походить з цього класу System.ApplicationException.

Давайте подивимося на кілька класів винятків VB.NET та його використання.

System.IndexOutOfRangeException: Цей виняток обробляє помилки, викликані індексом масиву, який виходить за межі діапазону.

System.DivideByZeroException: Цей виняток обробляє помилки, викликані, коли число ділиться на нуль, що суперечить універсальному правилу, що число, поділене на нуль, призведе до аномального припинення програми.

System.FormatException: Цей виняток обробляє помилки, викликані, коли користувач вводить символ або рядок, коли запитує число або ціле число. скажімо, користувачеві потрібно ввести 5, але введення говорять "у", тоді це виняток станеться.

Приклади обробки винятків у VB.NET

Ось кілька пояснених винятків. Давайте тепер навчимося обробляти ці винятки в VB.Net на прикладі

Приклади №1

Нижче представлена ​​програма для DivideByZeroException та її вихід

Код програми

Module exceptionProg
Sub division(ByVal n1 As Integer, ByVal n2 As Integer)
Dim res As Integer
Try
res = n1 \ n2
Catch ex As DivideByZeroException
Console.WriteLine("Exception caught: (0)", ex)
Finally
Console.WriteLine("Result: (0)", res)
End Try
End Sub
Sub Main()
division(100, 0)
Console.ReadKey()
End Sub
End Module

Вихід коду

Приклад №2

Програма для OverflowException

Module OverFlowProg
Sub division(ByVal n1 As Integer, ByVal n2 As Integer)
Dim res As Integer
Try
res = n1 \ n2
Catch ex As DivideByZeroException
Console.WriteLine("Exception caught: (0)", ex)
Finally
Console.WriteLine("Result: (0)", res)
End Try
End Sub
Sub Main()
division(25, 777777777777)
Console.ReadKey()
End Sub
End Module

Вихід Кодексу

Крім того, тепер давайте створимо власні спеціальні винятки

У цій програмі ми перевіримо, чи число парне чи непарне,

Логіка: число ділиться на 2, якщо результат 0, то це парне число, якщо результат не 0, це непарне число.

Код програми є

Module EvenorOddNo
Public Class EvenorOddNo : Inherits ApplicationException
Public Sub New(ByVal message As String)
MyBase.New(message)
End Sub
End Class
Public Class Divide
Dim AnyNo As Integer = 55
Dim No As Integer = 2
Sub showNumber()
If (AnyNo Mod No > 0) Then
Throw (New EvenorOddNo("The number is an odd number"))
Else
Console.WriteLine("The number is an even number : (0)", AnyNo)
End If
End Sub
End Class
Sub Main()
Dim obj As Divide = New Divide()
Try
obj.showNumber()
Catch ex As EvenorOddNo
Console.WriteLine("EvenorOddNo: (0)", ex.Message)
End Try
Console.ReadKey()
End Sub
End Module

Вихід програми

Аналогічно, якщо ми введемо число як 100 (замість 55) у вищезгадану програму і виконаємо, воно покаже наступну помилку

Висновок

Сподіваємось, ви зрозуміли тему, обробка винятків у VB.NET та зможете зрозуміти за допомогою різних згаданих тут прикладів

Рекомендовані статті

Це посібник з обробки винятків у VB.NET. Тут ми обговорюємо класи виключень у VB.NET та зразок коду для обробки винятків. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. VB.NET управління
  2. Типи даних VB.Net
  3. Що таке ADO.NET?
  4. Що таке .NET Core
  5. Події VB.Net