Нет силы обработки исключений? - PullRequest
5 голосов
/ 20 октября 2010

Программирование Java в Eclipse, я привык иметь дело с исключениями.В C # с VisualStudio кажется, что я не могу сказать «выбрасывает исключение» для метода ... После большого количества кодирования я обнаружил множество исключений, и мне пришлось отлавливать их, как я их обнаружил во время тестирования.Я хотел бы быть вынужден обращаться с ними, чтобы VisualStudio мог сказать, что здесь вам нужен улов, или я не собираюсь вас продолжать :) Это возможно?

Спасибо

Ответы [ 4 ]

9 голосов
/ 20 октября 2010

Нет.C # не заставляет вас обрабатывать исключения.Это было убедительное дизайнерское решение со стороны разработчиков языка.

Подробнее о причинах см. Проблема с проверенными исключениями , где Андерс Хейлсберг обсуждает, почему они не являются частью C #.

2 голосов
/ 20 октября 2010

Нет, в C # нет проверенных исключений.И причины довольно просты:

1) они имеют тенденцию не достигать поставленной цели, потому что не каждый следует рекомендуемой практике: либо обращаться с ними явно, либо передавать их по цепочке,Вместо этого происходит то, что они «съедаются» разработчиками в середине стека разработчиков.
2) , поскольку они, естественно, являются частью документации, а не исполняемым кодом, они должны идти в документацию, а незагромождать поверхность кода

3) C # / Документация Framework в инструментах dev - идеальное место для такой документации.Поэкспериментируйте с браузером объектов Visual Studio, перейдите к методу, и вы увидите, что они упоминаются в нижней панели.

0 голосов
/ 20 октября 2010

Вы можете использовать различные инструменты , чтобы найти исключения. Также для .NET 4 есть кодовые контракты, которые помогают вам обеспечить соблюдение условий до / после и возможно избегать некоторых исключений.

0 голосов
/ 20 октября 2010

Нет, это невозможно.

Что вы можете сделать, это найти метод библиотеки .NET, который вы выполняете в MSDN: исключения, которые, как ожидается, будут выброшены этим методом, описаны здесь. После этого вы можете решить, какие из них вы хотите поймать, а какие вы не хотите обрабатывать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...