Compartir a través de


Utilizar el bloque Try/Catch para detectar excepciones

Coloque las secciones del código que pueden iniciar 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 excepciones que inicia 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.

Option Explicit
Option Strict
Imports System
Imports System.IO
Imports System.Security.Permissions
<assembly: FileIOPermissionAttribute(SecurityAction.RequestMinimum, All := "d:\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
[C#]
using System;
using System.IO;
using System.Security.Permissions;
// Security permission request.
[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, All = @"d:\\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

Utilizar excepciones específicas en un bloque Catch | Iniciar excepciones | Utilizar excepciones definidas por el usuario | Utilizar el bloque Finally | Fundamentos del control de excepciones