Блок обработки исключений Microsoft Enterprise Library имеет функцию, которая позволяет декларативно сопоставлять исключения с ошибками на уровне границы обслуживания. Это означает, что вам не нужно явно поднимать ошибки самостоятельно; они будут созданы для вас блоком, когда исключение достигнет границы обслуживания. См. статью для более подробной информации.
Однако это не поможет вам идентифицировать сервисные операции, в которых отсутствуют договоры об ошибках. Я не знаю инструмента, который может это сделать, поэтому вам, возможно, придется написать свой собственный.