В статье данный размер масива был взят для наглядности примера и простоты получения исключения.
В реальном коде мы с одной стороны не знаем заранее какой размер масива нам понадобится, а с другой выделяя более маленькие масивы мы будем только откладывать данную опасность до следующей ряда вложенных функций.
Именно поэтому при подобном аллоцировании имеет смысл подстраховаться с помощью RuntimeHelper , также при желании можно добавить в условие проверку на размер выделяемого масива.
Спасибо за ценное замечание. В целом это попадает в общую копилку про подмену исключения как в catch блоке (throw; VS throw new Exception(...)), но менее очевидный случай Так как я не затрагивал эту тему, то не стал писать и про подмену исключения при выбрасывании исключения из файнали
Спасибо за дополнение про ThreadAbortException, не стал подробно про него расписывать, так как с ним есть множество интересных и неочевидных способов выстрелить себе в ногу из-за чего его лучше не использовать и из-за чего он не поддерживаетсяс 5-ой верии. И решил просто оставить ссылку на документацию где про это расписано, так как сам он не является основной темой данной статьи.
Про исключение поврежденного состояния есть отдельная глава в статье. Или вы подразумевали что-то конкретное?
Информация
В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
В статье данный размер масива был взят для наглядности примера и простоты получения исключения.
В реальном коде мы с одной стороны не знаем заранее какой размер масива нам понадобится, а с другой выделяя более маленькие масивы мы будем только откладывать данную опасность до следующей ряда вложенных функций.
Именно поэтому при подобном аллоцировании имеет смысл подстраховаться с помощью
RuntimeHelper
, также при желании можно добавить в условие проверку на размер выделяемого масива.Спасибо за ценное замечание.
В целом это попадает в общую копилку про подмену исключения как в catch блоке (throw; VS throw new Exception(...)), но менее очевидный случай
Так как я не затрагивал эту тему, то не стал писать и про подмену исключения при выбрасывании исключения из файнали
Спасибо за замечание, добавлю в статью данный пример
Спасибо за дополнение про ThreadAbortException, не стал подробно про него расписывать, так как с ним есть множество интересных и неочевидных способов выстрелить себе в ногу из-за чего его лучше не использовать и из-за чего он не поддерживаетсяс 5-ой верии. И решил просто оставить ссылку на документацию где про это расписано, так как сам он не является основной темой данной статьи.
Про исключение поврежденного состояния есть отдельная глава в статье. Или вы подразумевали что-то конкретное?