In UML, exceptions are a specialisation of signals. In a sequence diagram, exceptions are modelled as asynchronous messages (in UML 1.4, this is shown as an stick arrow. UML 1.3 used half arrow heads). I'll avoid an ASCII representation, but the basic notation would be: A calls B.something() - shown as a solid arrow between A and B. B 'throws' an exception which is caught by A. Show this with a stick arrow from B to A. Label the message with the name of the exception e.g. SQLException(). You can optionally mark this message with a 'signal' or 'exception' stereotype. regards, paul.