Cómo: Utilizar el bloque Try/Catch para detectar excepciones
Actualización: noviembre 2007
Coloque las secciones del código que pueden producir excepciones en un bloque Try y el código que controla excepciones en un bloque Catch. El bloque Catch es una serie de instrucciones que comienzan con la palabra clave catch seguida por un tipo de excepción y la acción que se debe tomar.
Nota: |
---|
Prácticamente cualquier línea de código puede originar una excepción, especialmente las excepciones que produce el propio Common Language Runtime, como OutOfMemoryException y StackOverflowException. La mayoría de las aplicaciones no tienen que encargarse de estas excepciones, pero se debe ser consciente de esta posibilidad al escribir bibliotecas que van a utilizar otros usuarios. Para obtener sugerencias de cuándo establecer el código en un bloque Try, vea Procedimientos recomendados para controlar excepciones. |
En el ejemplo de código siguiente se usa un bloque try/catch para detectar una posible excepción. El método Main contiene un bloque Try con una instrucción StreamReader que abre un archivo de datos denominado data.txt y escribe una cadena del archivo. Después del bloque Try hay un bloque Catch que detecta cualquier excepción que resulte del bloque Try.
Ejemplo
Option Explicit
Option Strict
Imports System
Imports System.IO
Imports System.Security.Permissions
<assembly: FileIOPermissionAttribute(SecurityAction.RequestMinimum, All := "c:\data.txt")>
Public Class ProcessFile
Public Shared Sub Main()
Try
Dim sr As StreamReader = File.OpenText("data.txt")
Console.WriteLine("The first line of this file is {0}", sr.ReadLine())
Catch e As Exception
Console.WriteLine("An error occurred: '{0}'", e)
End Try
End Sub
End Class
using System;
using System.IO;
using System.Security.Permissions;
// Security permission request.
[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, All = @"c:\data.txt")]
public class ProcessFile {
public static void Main() {
try {
StreamReader sr = File.OpenText("data.txt");
Console.WriteLine("The first line of this file is {0}", sr.ReadLine());
}
catch(Exception e) {
Console.WriteLine("An error occurred: '{0}'", e);
}
}
}
Este ejemplo ilustra una instrucción Catch básica que detectará cualquier excepción. Por lo general, se recomienda, cuando se esté programando, detectar un tipo de excepción específico en lugar de utilizar la instrucción Catch básica. Para obtener información sobre la detección de excepciones específicas, vea Utilizar excepciones específicas en un bloque Catch.
Vea también
Tareas
Cómo: Utilizar excepciones específicas en un bloque Catch
Cómo: Iniciar excepciones explícitamente
Cómo: Crear excepciones definidas por el usuario
Cómo: Utilizar bloques Finally