Как стать автором
Обновить
21
0
Роман Носов @LaniChatah

Фулстек разработчик: .NET + Angular

Отправить сообщение

В статье данный размер масива был взят для наглядности примера и простоты получения исключения.

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

Именно поэтому при подобном аллоцировании имеет смысл подстраховаться с помощью RuntimeHelper , также при желании можно добавить в условие проверку на размер выделяемого масива.

Спасибо за ценное замечание.
В целом это попадает в общую копилку про подмену исключения как в catch блоке (throw; VS throw new Exception(...)), но менее очевидный случай
Так как я не затрагивал эту тему, то не стал писать и про подмену исключения при выбрасывании исключения из файнали

Спасибо за замечание, добавлю в статью данный пример

Спасибо за дополнение про ThreadAbortException, не стал подробно про него расписывать, так как с ним есть множество интересных и неочевидных способов выстрелить себе в ногу из-за чего его лучше не использовать и из-за чего он не поддерживаетсяс 5-ой верии. И решил просто оставить ссылку на документацию где про это расписано, так как сам он не является основной темой данной статьи.

Про исключение поврежденного состояния есть отдельная глава в статье. Или вы подразумевали что-то конкретное?

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Зарегистрирован
Активность