SqlException.Class Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém o nível de gravidade do erro devolvido 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 de Propriedade
Um valor de 1 a 25 que indica o nível de gravidade do erro.
Exemplos
O exemplo seguinte apresenta cada um SqlError dentro da SqlErrorCollection coleção.
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
Observações
Mensagens com um nível de gravidade de 10 ou menos são informativas e indicam problemas causados por erros na informação que um utilizador inseriu. Os níveis de gravidade de 11 a 16 são gerados pelo utilizador e podem ser corrigidos pelo utilizador. Níveis de gravidade de 17 a 25 indicam erros de software ou hardware. Quando ocorre um erro de nível 17, 18 ou 19, pode continuar a trabalhar, embora possa não conseguir executar uma determinada instrução.
Permanece SqlConnection aberto quando o nível de gravidade é de 19 ou menos. Quando o nível de gravidade é 20 ou superior, o servidor normalmente fecha o SqlConnection. No entanto, o utilizador pode reabrir a ligação e continuar. Em ambos os casos, a SqlException é gerado pelo método que executa o comando.
Para informações sobre os avisos e mensagens informativas enviadas pelo SQL Server, consulte a secção Resolução de Problemas da documentação do SQL Server.
Isto é um invólucro para a Class propriedade do primeiro SqlError na Errors propriedade.