Не существует стандартного способа моделирования обработки исключений на диаграмме последовательности. Однако обработка исключений часто имеет решающее значение. Вот как я это представляю. Помните, что вы можете получить некоторую свободу в использовании UML. Это язык, и поэтому он меняется с течением времени. Пока ваш читатель понимает идею, которую вы хотите выразить, все идеально.

Приведенная выше диаграмма создана с Web Sequence бесплатным расширением Chrome (с открытым исходным кодом). Вы можете получить его здесь: http://bit.ly/web-sequence-ws или с официального сайта: http://bit.ly/zenuml.

Чтобы проверить это, вы можете просто вставить следующий код в редактор кода указанного выше плагина или на сайт.

JobTask.Run() {
  try() {
    Action.Execute() {
      InternalException.throw()
    }
  }
  InternalException.Catch() {
    Logger.Error()
    HighLevelException.throw()
  }
}

Это демонстрирует, что у нас есть try блок. Внутри этого блока мы выполняем Action.Execute(), в который может быть брошено InternalException. Затем мы перехватываем ее, регистрируем ошибку и повторно генерируем HighLevelException, что является довольно типичной стратегией обработки исключений.