Entonces crea un SP vacío, que solo incluya la llamada a una excepción (así te olvidas de los datos que le pasas al SP y de lo que haga internamente).
Un botón ejecuta ese SP.
El ApplicationsEvents, debe tener algún código escrito, porque de lo contrario el optimizador del compilador eliminará la referencia.
El concepto es simple:
Si no tienes un ApplicationsEvents, la excepción se muestra en pantalla.
Si tienes un ApplicationsEvents.OnException, la excepción primero pasa por dicho evento, después se muestra en pantalla.
Código Delphi
[-]
procedure TSXXXX.AplicationException(...E:Exception;....);
begin
ShowMessage('Mi mensaje personal ' + E.Message);
end;
Saludos