¿Debería envolver todo mi código de servicio WCF en un bloque try catch?

<code>try
{
    ///// here is the code that might throw erros. If I discover the user is unauthorized I throw a WebFaultException myself to alert the client
}      
catch (WebFaultException ex)
{
    throw ex; //but if I wrap all code in try-catch, I have to rethrow the exception o the status code reaches the client
}
catch (Exception ex)
{
    throw new WebFaultException(ex.Message, HttpStatusCode.InternalServerError);
}
</code>

¿Debo envolver todo en un try-catch, o qué me recomienda? Yo uso WCF con servicios JSON de descanso

Respuestas a la pregunta(1)

Su respuesta a la pregunta