Мне интересно, почему в классах исключений .NET из библиотеки базового класса по умолчанию есть некоторые изменяемые члены.
- Почему я могу изменить
Source
,HelpLink
и значения изData
, но не могу изменить ничего подобного, какMessage
? - Почему бросание исключения перезаписывает
StackTrace
, что делает его изменчивым? Добавление информации о трассировке стека в существующую трассировку было бы лучше (но все же изменяемо)? - Какие возможные улучшения в дизайне исключений .NET могут быть?
Мне интересно только выбор дизайна...