Доступные версии документации

Message

Предоставляет текст сообщения, которое описывает текущее исключение.

Текст сообщения Message должен содержать полное описание кода завершения (ошибки) и, по возможности, объяснение способа устранения ошибки. Значение свойства Message включается в сведения, возвращаемые методом ToString.

Свойство Message устанавливается только при создании исключения Exception, значение по умолчанию отсутствует, потому что в ADO.NET-провайдере СУБД ЛИНТЕР нет конструктора без параметров для класса LinterSqlException.

Примечание

Полный список сообщений LinterSqlException и рекомендации по устранению ошибок см. в документе «СУБД ЛИНТЕР. Справочник кодов завершения».

Язык сообщения Message может быть английский или русский, в зависимости от языка текущего потока:

System.Threading.Thread.CurrentThread.CurrentUICulture.

Английские текстовые сообщения находятся в сборке System.Data.LinterClient.dll.

Русские текстовые сообщения находятся в сборке System.Data.LinterClient.resources.dll, которая расположена в подкаталоге /bin/ru-RU установочного каталога СУБД ЛИНТЕР. Для правильной загрузки русских сообщений данная сборка должна быть установлена в GAC (это происходит при установке в GAC основной сборки System.Data.LinterClient.dll). Если установка в GAC не выполняется, то в локальном каталоге приложения надо создать подкаталог /ru-RU и скопировать в него сборку System.Data.LinterClient.resources.dll.

Декларация
public virtual string Message {get;};
Значение свойства

Текстовая расшифровка кода завершения с объяснением причин исключения или пустая строка (""), если в ADO.NET провайдере отсутствует расшифровка кода завершения.

Исключения

Отсутствуют.

Пример
// В данном примере создается метод Execute, в котором генерируется исключение
// LinterSqlException при попытке выполнить неизвестную хранимую процедуру. Данный
// метод вызывается два раза из основного метода Main. Перед каждым вызовом метода
// Execute в методе Main устанавливается язык текущего потока: первый раз
// устанавливается язык “en-US”, второй раз – “ru-RU”.
// C#
using System;
using System.Data.LinterClient;
using System.Threading;
using System.Globalization;

class Program
{
  static void Main()
  {
    Console.WriteLine("Язык en-US");
    // Установка языка текущего потока “en-US”
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
    // Выполнение метода, в котором генерируется исключение
    Execute();

    Console.WriteLine("Язык ru-RU");
    // Установка языка текущего потока “ru-RU”
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("ru-RU");
    // Выполнение метода, в котором генерируется исключение
    Execute();
  }

  private static void Execute()
  {
    LinterDbConnection con = null;

    try
    {
      // Создание объекта соединение
      con = new LinterDbConnection("UserID=SYSTEM;Password=MANAGER");

      // Создание объекта команда
      LinterDbCommand cmd = new LinterDbCommand("execute NOT_EXIST", con);

      // Открытие соединения
      con.Open();

      // Выполнение команды, которая генерирует исключение LinterSqlException
      cmd.ExecuteNonQuery();
    }
    catch (LinterSqlException ex)
    {
      // Обработка исключений СУБД ЛИНТЕР
      Console.WriteLine(
        "Текст сообщения: " + ex.Message + "\n" +
        "Код СУБД ЛИНТЕР: " + ex.Number + "\n");
    }
    catch (Exception ex)
    {
      // Обработка исключений других типов
      Console.WriteLine(
        "Текст сообщения: " + ex.Message + "\n" +
        "Тип исключения: " + ex.GetType() + "\n");
    }
    finally
    {
      // Освобождение ресурсов
      if (con != null)
      {
        con.Close();
      }
    }
  }
}
Результат выполнения примера
Язык en-US
Текст сообщения: [Linter Code] unknown procedure
Код СУБД ЛИНТЕР: 2229

Язык ru-RU
Текст сообщения: [Код СУБД ЛИНТЕР] неизвестная процедура
Код СУБД ЛИНТЕР: 2229
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter