Compartir a través de


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 uno SqlError de los elementos de la SqlErrorCollection colección.

using Microsoft.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";
    }
}

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 el usuario puede corregirlo. 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 seguir funcionando, 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 los mensajes informativos y de advertencia 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 de la primera SqlError de la Errors propiedad .

Si Errors es null, se devuelve el default valor de byte .

Se aplica a

Consulte también