Вы в значительной степени не можете . Во-первых, в .NET / C # нет проверенных исключений, таких как Java, а во-вторых, существует ряд общих исключений, которые могут произойти по любой причудливой причине.
По методу за методом вы можете декорировать методы с помощью исключений, которые они вызывают, но это не обязательно должно присутствовать, быть точным или полным.
В общем, любое неожиданное * исключение следует рассматривать как терминальное; просто раскручивайте, очищайте (using
) и т. д. по мере продвижения и распространяйте исключение - или, по крайней мере, регистрируйте его, если операция не критична.
* = Я оставлю в стороне философскую дискуссию о том, действительно ли каждое исключение должно быть ожидаемым как таковым ...