Здравствуйте, Cynic, Вы писали:
C>При этом операции записи в буфер происходят довольно часто. Правильно ли я понимаю, что в данном случае лучше избегать исключений?
Неправильно

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