Проверяемые исключения -- почему нет в C#?
От: 0K Ниоткуда  
Дата: 27.07.10 08:59
Оценка: -3
Немного повозившись с явой -- понял чего мне не так не хватало в C# -- проверяемые исключения:

* в описании функции (или метода класса) в явном виде перечисляются все типы исключений, которые она может сгенерировать;

*функция, вызывающая функцию или метод с объявленными исключениями, для каждого из этих исключений обязана либо содержать обработчик, либо, в свою очередь, указывать этот тип как генерируемый ею в своём описании.

* компилятор проверяет наличие обработчика в теле функции или записи исключения в её заголовке; если он обнаруживает возможность возникновения исключения, которое не описано в заголовке функции и не обрабатывается в ней, программа считается некорректной и не компилируется.


В C# есть возможность писать в XML-комментарии исключения, которые метод может выбросить. Но мало кто эту возможность использует, как и вообще пишет комментарии. А вот проверяемые исключения -- это часть языка и их бы использовали все.

Конечно, в Java есть некоторые недостатки -- но их бы можно было не повторять в C#.

Собственно вопрос в том, почему такую полезную вещь как проверяемые исключения не включили в язык?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.