Механизм локализации исключений реализует выдачу пользователю системы осмысленных предупреждений и сообщений об ошибках на его языке.
Модель данных представлена таблицей EXCEPTION_TRANSLATIONS, в которой хранится перечень локализованных значений исключений:
•DESCRIPTION – описание локализации;
•TYPE_PATTERN – тип исключения;
•MESSAGE_PATTERN – текст исключения;
•USE_REGEXP – флаг, указывающий на использование регулярных выражений (подробное описание регулярных выражений можно найти на сайте MSDN eng/rus) в полях TYPE_PATTERN и MESSAGE_PATTERN;
•TEXT – локализованный текст для исключений соответствующего типа (TYPE_PATTERN) и текста (MESSAGE_PATTERN);
•LANG_ID (FK) – язык локализации;
•SORT_INDEX – индекс сортировки локализаций. Для двух одинаковых пар локализаций тип-текст будет использована локализация с большим значением индекса.
Рассмотрим работу механизма локализации исключений на примере: Чтобы локализовать данное исключение, добавим соответствующую его типу (Exception) и тексту (Message) запись в таблицу EXCEPTION_TRANSLATIONS:
В результате сообщение об ошибке будет выглядеть следующим образом: |
Если исключение имеет вложенные исключения, локализуется только первое:
Exception 1
|
=> |
Translated Exception 1
|
Если исключение имеет среди вложенных несериализованное исключение, локализуются все:
Exception 1
|
=> |
Translated Exception 1
|