Не существует стандартного способа моделирования обработки исключений на диаграмме последовательности. Однако обработка исключений часто имеет решающее значение. Вот как я это представляю. Помните, что вы можете получить некоторую свободу в использовании 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, что является довольно типичной стратегией обработки исключений.