Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, Cynic, Вы писали:
C>>При этом операции записи в буфер происходят довольно часто. Правильно ли я понимаю, что в данном случае лучше избегать исключений?
S>Неправильно
При попытке записать мимо буфера в любом случае должно бросаться исключение. Иначе вы останетесь с испорченными данными и никак об этом не узнаете.
S>Если буфер — простой массив, то исключение бросят за вас, достаточно обернуть его в custom type exception (если требуется).
S>Если соблюдаются все три условия:
S>* попытки записать мимо буфера будут происходить постоянно;
S>* это нормальная ситуация;
S>* вызывающий код знает, как такие моменты обрабатывать.
S>(я что-то не могу себе такой сценарий представить, но пусть будет),
S>то: рядом с методом Write надо добавить TryWrite, который в случае облома не будет писать в буфер и просто вернёт false.
S>Прочитайте ссылки из моего ответа выше, там всё детально разжёвано.
Да речь только о производительности решения. Я могу обрабатывать исключение, а могу проверять доступное место. Вопрос в том, что более производительно.