SqlException.Class Propiedad

Definición

Obtiene el nivel de gravedad del error que devuelve el proveedor de datos de .NET Framework para SQL Server.

public:
 property System::Byte Class { System::Byte get(); };
public byte Class { get; }
member this.Class : byte
Public ReadOnly Property Class As Byte

Valor de propiedad

Valor del 1 al 25 que indica el nivel de gravedad del error.

Ejemplos

En el ejemplo siguiente se muestra cada una SqlError de las SqlErrorCollection colecciones.

using System;
using System.Data;
using System.Data.SqlClient;
using System.Text;

class Program
{
    static void Main()
    {
        string s = GetConnectionString();
        ShowSqlException(s);
        Console.ReadLine();
    }

    public static void ShowSqlException(string connectionString)
    {
        string queryString = "EXECUTE NonExistantStoredProcedure";
        StringBuilder errorMessages = new StringBuilder();

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand(queryString, connection);
            try
            {
                command.Connection.Open();
                command.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {
                for (int i = 0; i < ex.Errors.Count; i++)
                {
                    errorMessages.Append("Index #" + i + "\n" +
                        "Message: " + ex.Errors[i].Message + "\n" +
                        "Error Number: " + ex.Errors[i].Number + "\n" +
                        "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                        "Source: " + ex.Errors[i].Source + "\n" +
                        "Procedure: " + ex.Errors[i].Procedure + "\n");
                }
                Console.WriteLine(errorMessages.ToString());
            }
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code,
        // you can retrieve it from a configuration file.
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI";
    }
}
Public Sub ShowSqlException(ByVal connectionString As String)
    Dim queryString As String = "EXECUTE NonExistantStoredProcedure"
    Dim errorMessages As New StringBuilder()

    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)

        Try
            command.Connection.Open()
            command.ExecuteNonQuery()

        Catch ex As SqlException
            Dim i As Integer
            For i = 0 To ex.Errors.Count - 1
                errorMessages.Append("Index #" & i.ToString() & ControlChars.NewLine _
                    & "Message: " & ex.Errors(i).Message & ControlChars.NewLine _
                    & "Error Number: " & ex.Errors(i).Number & ControlChars.NewLine _
                    & "LineNumber: " & ex.Errors(i).LineNumber & ControlChars.NewLine _
                    & "Source: " & ex.Errors(i).Source & ControlChars.NewLine _
                    & "Procedure: " & ex.Errors(i).Procedure & ControlChars.NewLine)
            Next i
            Console.WriteLine(errorMessages.ToString())
        End Try
    End Using
End Sub

Comentarios

Los mensajes que tienen un nivel de gravedad de 10 o menos son informativos e indican problemas causados por errores en la información que ha escrito un usuario. El usuario genera los niveles de gravedad de 11 a 16 y puede corregirlo el usuario. Los niveles de gravedad entre 17 y 25 indican errores de software o hardware. Cuando se produce un error de nivel 17, 18 o 19, puede continuar trabajando, aunque es posible que no pueda ejecutar una instrucción determinada.

La conexión SqlConnection permanece abierta cuando el nivel de gravedad es 19 o inferior. Cuando el nivel de gravedad es 20 o superior, el servidor normalmente cierra .SqlConnection Sin embargo, el usuario puede volver a abrir la conexión y continuar. En ambos casos, el método que ejecuta el comando genera una excepción SqlException.

Para obtener información sobre la advertencia y los mensajes informativos enviados por SQL Server, consulte la sección Solución de problemas de la documentación de SQL Server.

Se trata de un contenedor para la Class propiedad del primero SqlError en la Errors propiedad .

Se aplica a

Consulte también