Manejo de excepciones en VB.NET - Aprenda ejemplos para manejar las excepciones

Tabla de contenido:

Anonim

Introducción al manejo de excepciones en Vb.Net

El siguiente artículo Manejo de excepciones en VB.NET proporciona un esquema detallado para manejar excepciones en VB.Net. Bienvenido al tema del manejo de excepciones en VB.NET. Aprendamos qué es el manejo de excepciones, cómo se producen las diferentes excepciones y cómo manejamos estas excepciones. Se producen excepciones cuando ejecutamos un programa y se detecta un error que conduce a una excepción que puede ser una Excepción del sistema o una Excepción de la aplicación. Aprenderemos más sobre esto en las Clases de Excepción más adelante. En este tema, vamos a aprender sobre el manejo de excepciones en VB.NET.

El manejo de excepciones en VB.NET se basa en el uso de cuatro palabras clave como try, catch, finally y throws.

  • Prueba: un bloque de prueba es un bloque de código que genera diferentes excepciones dentro de la aplicación. Para manejar estas excepciones lanzadas en el bloque try usamos el bloque catch. Por lo tanto, el bloque try siempre es seguido por uno o más bloques catch.
  • Captura: un bloque de captura es un bloque de código que contiene las declaraciones que manejan las excepciones mediante el uso de un controlador de excepciones en la declaración donde ocurrió el problema. El bloque catch es principalmente el manejo de excepciones por diferentes clases de excepciones definidas en la biblioteca de excepciones.
  • Finalmente: Un bloque final es un bloque de código que contiene declaraciones que son declaraciones obligatorias que se ejecutarán independientemente de si se lanza o no la excepción. Supongamos que tengo que abrir un archivo, leerlo, escribirlo y cerrarlo. En el bloque try, las declaraciones son como abrir un archivo, leer un archivo y escribir un archivo que puede o no generar una excepción, pero el archivo debe cerrarse antes de que finalice el programa. Por lo tanto, el bloque final siempre tiene declaraciones como cerrar los archivos, cerrar la conexión de la base de datos, cerrar el programa, etc.
  • Lanzar: cuando se produce un problema, esta declaración genera una excepción. Esta excepción puede ser incorporada o una excepción definida por el usuario.

Sintaxis

El código para Try-Catch Block es el siguiente

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

Aquí, se muestra más de un bloque catch en la sintaxis anterior para detectar un tipo diferente de excepciones generadas por el bloque try. Puede suceder que más de una excepción sea lanzada por el bloque try y solo un bloque catch esté disponible, entonces para capturar todas las excepciones necesitaremos una o varias declaraciones catch. Y así, hemos escrito más de una declaración catch en la sintaxis anterior.

Clases de excepción en VB.NET

Como ya se mencionó en la declaración anterior. Las excepciones son de diferentes tipos y estas no son más que clases. La clase principal de donde se heredan estas clases es System.Exception.

Hay dos excepciones principalmente

  1. System.SystemException
  2. System.ApplicationException

System.SystemException es una clase para todas las excepciones integradas del sistema o podemos decir que cuando se produce un error de tiempo de ejecución cuando se producen las clases de excepción del sistema como DivideByZeroException, IndexOutOfRangeException, StackOverflowException se instancia.

System.ApplicationException es una clase que ejecuta las excepciones definidas por el programador o desarrollador dentro de la aplicación. Lanza una excepción definida por el usuario que se deriva de esta clase System.ApplicationException.

Echemos un vistazo a algunas clases de excepción VB.NET y su uso.

System.IndexOutOfRangeException: esta excepción maneja los errores causados ​​por un índice de matriz que está fuera de rango. Supongamos que tenemos una matriz de 5 longitudes de matriz y la repetimos 6 veces la sexta vez que el programa pasará por IndexOutOfRangeException.

System.DivideByZeroException: esta excepción maneja los errores causados ​​cuando un número se divide por cero, lo que va en contra de la regla universal de que un número dividido por cero dará como resultado una terminación anormal del programa.

System.FormatException: esta excepción maneja los errores causados ​​cuando el usuario ingresa un carácter o una cadena cuando se le solicita un número o un entero. digamos que el usuario necesita ingresar 5 pero las entradas dicen 'y', entonces esta excepción ocurrirá.

Ejemplos de manejo de excepciones en VB.NET

Estas son algunas excepciones explicadas. Ahora aprendamos a manejar estas excepciones en VB.Net con ejemplo

Ejemplos # 1

A continuación se muestra el programa para DivideByZeroException y su salida

El código para el programa

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

La salida del código

Ejemplo # 2

Programa para 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

La salida del Código

Además, ahora creemos nuestras propias excepciones personalizadas

En este programa, comprobaremos si el número es par o impar,

Lógica: el número se divide por 2 si el resultado es 0, entonces es un número par; si el resultado no es 0, es un número impar.

El código para el programa es

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

La salida del programa

Del mismo modo, si ingresamos el número como 100 (en lugar de 55) en el programa anterior y lo ejecutamos, mostrará el siguiente error

Conclusión

Con suerte, entendió el tema, Manejo de excepciones en VB.NET y podrá comprender con la ayuda de diferentes ejemplos mencionados aquí

Artículos recomendados

Esta es una guía para el manejo de excepciones en VB.NET. Aquí discutimos las clases de excepción en VB.NET y el código de muestra para manejar las excepciones. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. Controles VB.NET
  2. Tipos de datos VB.Net
  3. ¿Qué es ADO.NET?
  4. ¿Qué es .NET Core?
  5. VB.Net Events