Я разрабатываю модуль Drupal. Есть таблица под названием валюта. Столбец currency_code установлен на UNIQUE. Когда я пытаюсь ввести повторяющуюся запись, drupal автоматически показывает сообщение об ошибке, подобное этому: -
.-------------------------------------------------------------------------.
| user warning: Duplicate entry 'USD' for key 'currency_code' |
| query: INSERT INTO currency(currency_id, currency_name, currency_code) |
| VALUES (NULL, 'US Dollar', 'USD') in /xxx/currency/currency.admin.inc |
| on line 106. |
.-------------------------------------------------------------------------.
Очевидно, я не могу просто позволить пользователю увидеть эту ошибку. Вместо этого я хочу напечатать специальное сообщение об ошибке с указанием причины ошибки (в данном случае дублирование уникального значения). Поэтому мой вопрос заключается в том, как определить причину ошибки и отобразить ее в удобной для пользователя форме (возможно, используя drupal_set_message ()).
Можно ли как-нибудь сохранить строку сообщения об ошибке в переменной, чтобы я мог проанализировать ее в фоновом режиме и распечатать обычное сообщение?