다음을 통해 공유


SqlException.Class 속성

정의

.NET Framework Data Provider for SQL Server에서 반환한 오류의 심각도 수준을 가져옵니다.

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

속성 값

오류의 심각도 수준을 나타내는 1부터 25까지의 값입니다.

예제

다음 예제에서는 각 SqlError 내에서 SqlErrorCollection 컬렉션입니다.

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

설명

심각도 수준이 10 이하인 메시지는 정보이며 사용자가 입력한 정보의 실수로 인한 문제를 나타냅니다. 11에서 16까지의 심각도 수준은 사용자가 생성하며 사용자가 수정할 수 있습니다. 17에서 25까지의 심각도는 소프트웨어나 하드웨어 오류를 나타냅니다. 수준 17, 18 또는 19 오류가 발생하면 특정 문을 실행하지 못할 수도 있지만 작업을 계속할 수 있습니다.

SqlConnection 심각도 수준이 19 이하인 경우 는 열린 상태로 유지됩니다. 심각도 수준이 20 이상인 경우 서버는 일반적으로 를 SqlConnection닫습니다. 그러나 사용자는 연결을 다시 열고 계속할 수 있습니다. 두 경우 모두 명령을 SqlException 실행하는 메서드에 의해 가 생성됩니다.

SQL Server 보낸 경고 및 정보 메시지에 대한 자세한 내용은 SQL Server 설명서의 문제 해결 섹션을 참조하세요.

속성의 첫 번째 SqlError 속성에 대한 Class 래퍼입니다Errors.

가 이nullErrorsdefaultbyte 이 반환됩니다.

적용 대상

추가 정보