Partilhar via


SqlException.Class Propriedade

Definição

Obtém o nível de gravidade do erro retornado do .NET Framework Data Provider 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 da propriedade

Um valor de 1 a 25 que indica o nível de gravidade do erro.

Exemplos

O exemplo a seguir exibe cada SqlError um dentro da SqlErrorCollection coleção.

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";
    }
}

Comentários

Mensagens que têm um nível de gravidade igual a 10 ou menos são informativas e indicam problemas causados por erros nas informações que um usuário inseriu. Os níveis de gravidade de 11 a 16 são gerados pelo usuário e podem ser corrigidos pelo usuário. Os níveis de severidade de 17 a 25 indicam erros de software ou hardware. Quando ocorre um erro de nível 17, 18 ou 19, você pode continuar trabalhando, embora não seja possível executar uma instrução específica.

O SqlConnection permanece aberto quando o nível de severidade é 19 ou inferior. Quando o nível de severidade é 20 ou maior, o servidor normalmente fecha o SqlConnection. No entanto, o usuário pode reabrir a conexão e continuar. Em ambos os casos, SqlException é gerada pelo método que executa o comando.

Para obter informações sobre as mensagens informativas e de aviso enviadas pelo SQL Server, consulte a seção Solução de problemas da documentação do SQL Server.

Esse é um wrapper para a Class propriedade do primeiro SqlError na Errors propriedade .

Se Errors for null, o default valor de byte será retornado.

Aplica-se a

Confira também