Tratamento de erros

Existe alguma forma de tratar erros no VRAPTOR de uma forma mais amigável para o usuário e por trás disparar um e-mail por exemplo?

Penso que o Vraptor é um controller, então não é a função dele enviar emails.

Mas nada impede que você (facilmente) implemente isso. Vocẽ pode criar um interceptor que faça um try and catch. No catch vocẽ pode disparar o envio de email e relançar a exception.

Porém cuide para deixar o processo de envio do email asincrono, senão sua aplicação pode prender o request enquanto envia o email.

o que vc quer dizer com forma mais amigável?

vc quer mostrar uma página bonitinha qdo der erro? só configurar uma error-page no web.xml…

e pra mandar o email vc pode fazer o que o garcia-jj falou