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, которая расположена в подкаталоге ru-RU пакета провайдера СУБД ЛИНТЕР.
Декларация
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=MANAGER8");
// Создание объекта команда
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