Когда пишется кастомный модуль, то обычно существует обработка ошибок с помощью watchdog или watchdog_exception. Стандартный вывод такого сообщения выглядит не информативно и мало-симпатично. Следующий пример обработки ошибки можно встретить достаточно часто:
<?php
try {
  throw new Exception('Any message', 10);
}
catch (Exception $e) {
  watchdog_exception('my_module', $e);
}
Он сохранит сообщение об ошибке в лог, которое будет выглядеть так (сорри за заблюренные данные, скрины сделаны с рабочего сайта =) ):

Чтобы исправить этот недостаток можно использовать сниппет:
<?php
function my_module_pretty_watchdog($e, $params = array()) {
  $message = "<b>Message</b>: !message<br/>" .
    "<b>Trace</b>: !trace<br/>" .
    '<b>Params</b>: !params';
  $trace = explode('#5', nl2br($e->getTraceAsString()));
  watchdog('my_module', $message, array(
    '!message' => $e->getMessage(),
    '!trace'   => str_replace('#', '  #', $trace[0]),
    '!params'  => '<pre>'.htmlspecialchars(print_r($params, TRUE)).'</pre>'
  ), WATCHDOG_ERROR, current_path());
}
В таком случае, тот же пример, с сохранением ошибки в лог:
<?php
try {
  throw new Exception('Any message', 10);
}
catch (Exception $e) {
  my_module_pretty_watchdog($e, array(
    'first param' => 'data 1',
    'second param' => 'data 2'
  ));
}
даст более привлекательное сообщение:
