Patrón de diseño / truco de C # para bits repetidos de código

Tengo un servicio WCF que registra las excepciones y luego las lanza como FaultExceptions.

Estoy haciendo muchas repeticiones por ej. En cada método de servicio.

try { 
   // do some work

}
catch(Exception ex)
{
  Logger.log(ex);

  // actually will be Fault Exception but you get the idea.
  throw ex;
}

Estoy buscando una forma más elegante de hacerlo, ya que estoy cortando y pegando el try / catch en cada servicio.

¿Existe un patrón de diseño / truco de C # que se pueda usar para hacerlo más elegante?

Respuestas a la pregunta(9)

Su respuesta a la pregunta