Está en la página 1de 5

Institución Universitaria Colegio Mayor del Cauca .

NET
EXCEPCIONES La Estructura Try… End Try

Ejemplo:
Module module1 Public Sub Main() Dim sValor As String Dim iNumero As Integer Try ' comienza el control de errores Console.WriteLine("Introducir un número") sValor = Console.ReadLine() ' si no hemos introducido un número... iNumero = sValor ' ...aquí se producirá un error... ' ...y no llegaremos a esta parte del código iNumero = iNumero + 1000 Catch ' si se produce un error, se genera una excepción ' que capturamos en este bloque de código ' manipulador de excepción, definido por Catch Console.WriteLine("Error al introducir el número" & _ ControlChars.CrLf & _ "El valor {0} es incorrecto", sValor) End Try ' resto del código del procedimiento ' .... Console.ReadLine() End Sub End Module

Ing. Yuli Garcés Bolaños

Página 1

definido por Catch Console. ' ..WriteLine("Error al introducir el número" & _ ControlChars.Institución Universitaria Colegio Mayor del Cauca . ' al no disponer de una estructura para controlarlo ' se cancelará la ejecución dtFecha = Console..CrLf & _ "El valor {0} es incorrecto".WriteLine("La fecha es {0}".WriteLine("El controlador de errores ha finalizado") End Try ' resto del código del procedimiento Dim dtFecha As Date Console..y no llegaremos a esta parte del código iNumero = iNumero + 1000 Catch ' si se produce un error.WriteLine("Introducir un número") sValor = Console. iNumero = sValor ' . después de Catch se ejecuta este bloque. dtFecha) Console..ReadLine() End Sub LA CLASE EXCEPCION Ing...aquí se producirá un error.NET Ejemplo con Finally Public Sub Main() Dim sValor As String Dim iNumero As Integer Try ' comienza el control de errores Console. se genera una excepción ' que capturamos en este bloque de código ' manipulador de excepción.ReadLine() Console.ReadLine() ' si no hemos introducido un número. después de Try también se ejecuta Console.WriteLine("Introducir una fecha") ' si ahora se produce un error. ' si no se produce error. Yuli Garcés Bolaños Página 2 ... _ sValor) Finally ' si se produce un error.

Institución Universitaria Colegio Mayor del Cauca . Yuli Garcés Bolaños Página 3 . "d"} Try ' comienza el control de errores Console.aquí se producirá un error..NET Resultados CAPTURA DE EXCEPCIONES DE DIFERENTE TIPO Public Sub Main() Dim sValor As String Dim iNumero As Integer Dim sLetras() As String = {"a"... ' . iNumero = sValor ' ...ReadLine() Ing. "c"..ReadLine() ' si no hemos introducido un número.. "b".WriteLine("Introducir un número") sValor = Console.y no llegaremos a esta parte del código iNumero = iNumero + 1000 ' introducir una letra y asignarla a una ' posición del array Dim sNuevaLetra As String Dim iPosicion As Integer Console..WriteLine("Introducir una letra") sNuevaLetra = Console.

se producirá un error sLetras(iPosicion) = sNuevaLetra Catch oExcep As System.ToString()) Finally ' si se produce un error.InvalidCastException ' excepción producida por un error al intentar ' realizar una conversión de tipos Console. ' utilizando un objeto de la clase CreditoException. ' si no se produce error. después de Try también se ejecuta Console.WriteLine("El controlador de errores ha finalizado") End Try Console. o índice fuera de rango Console. Yuli Garcés Bolaños Página 4 .WriteLine("Introducir posición del array para la letra") iPosicion = Console. después de Catch se ejecuta este bloque.NET Console. si se intenta asignar un importe ' superior al permitido. String)) Else mdbDisponible = ldbCredito End If End Sub End Class ' ------------------------------------------------- Ing.IndexOutOfRangeException ' excepción producida por un error ' al intentar usar un índice inexistente ' de array.ToString()) Catch oExcep As System.Se intentó asignar " & CType(ldbCredito.Institución Universitaria Colegio Mayor del Cauca . ' heredado de Exception Public Sub AsignarCredito(ByVal ldbCredito As Double) If ldbCredito > 2500 Then Throw New CreditoException("Límite disponible: 2500 " & _ ".WriteLine(oExcep.ReadLine() End Sub EXCEPCIONES PERSONALIZADAS Public Class CtaCredito Private msTitular As String Private mdbDisponible As Double Public Property Titular() As String Get Return msTitular End Get Set(ByVal Value As String) msTitular = Value End Set End Property Public ReadOnly Property Credito() As Double Get Return mdbDisponible End Get End Property ' en este método. se lanza una excepción.ReadLine() ' si al asignar la letra al array no existe ' el índice.WriteLine(oExcep.

NET ' esta clase contiene la información sobre un error ' producido en un objeto CtaCredito Public Class CreditoException Inherits Exception Private msDescripcion As String Public Sub New(ByVal lsDescripcion As String) msDescripcion = lsDescripcion End Sub Public ReadOnly Property Descripcion() As String Get Return msDescripcion End Get End Property End Class Ing. Yuli Garcés Bolaños Página 5 .Institución Universitaria Colegio Mayor del Cauca .