Проверять обработку исключений в комментариях xml? - PullRequest
3 голосов
/ 05 февраля 2011

Существует ли какой-либо инструмент анализа кода C #, который может проверить, обрабатываются ли где-нибудь в цепочке вызовов исключения, содержащиеся в комментариях XML?

Если предположить, что только исключения, которые должны быть обработаны специально, будут прокомментированы в xml, то это будетбыть весьма полезным.

1 Ответ

1 голос
/ 09 февраля 2011

Я ничего не слышал - поскольку вы не можете использовать отражение, чтобы получить комментарии в скомпилированной сборке, я не думаю, что это возможно. Компилятор или инструмент анализа кода может возможно проверить, правильно ли комментированы какие-либо сгенерированные (или нисходящие?) Исключения в комментариях XML, но это все.

Возможно, вас заинтересует Spec # от Microsoft Research. По данным сайта проекта:

Spec # является расширением объектно-ориентированного языка C #. Он расширяет систему типов для включения ненулевых типов и проверенных исключений. Он предоставляет контракты методов в форме предварительных и постусловий, а также инвариантов объектов.

Это, я думаю, примерно так близко, как вы собираетесь получить. Он будет делать то, что делает Java: заставлять вызывающие функции, которые выдают исключения, либо обрабатывать эти исключения, либо указывать в своих метаданных, что они сами распространяют / выдают эти исключения, пока исключение не будет обработано где-то . Я не знаю, позволит ли Spec # проверять только определенные типы исключений.

...