Посты для тега : ‘WriteLine’

Статические конструкторы (класса)

Тема статических конструкторов уже затрагивалась в разделе “Поля”, но давайте рассмотрим эти конструкторы еще раз внимательнее. Класс может иметь максимум один статический конструктор, и этот статический конструктор не может принимать параметров. Статические конструкторы никогда не вызываются напрямую.

Читать далее »

Обзор синтаксиса операторов try, catch и finally

Код внутри блока try защищен от исключений так, что если исключение сгенерировано, то исполняющая система ищет подходящий блок catch, чтобы его обработать. Независимо от того, существует или нет подходящий блок catch, если предусмотрен блок finally, он всегда выполняется, независимо от того, как поток управления покидает блок try.

Читать далее »

Исключения, сгенерированные в блоке finally, финализаторах

Возможно, но крайне нежелательно, генерировать исключения внутри блока finally. Следующий код демонстрирует пример: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 using System; using System.Collections; public class Entrypoint { static void Main() { try { try { ArrayList list = new ArrayList […]

Читать далее »

Операции as и is в C#

Поскольку явное преобразование может потерпеть неудачу с генерацией искл??чения, бывает так, что необходимо проверить тип переменной без выполнения приведения и наблюдения, получится оно или нет. Проверка типа через приведение утомительна и неэффективна, к тому же исключения дорого обходятся во время выполнения. По этой причине в С# предусмотрены операции, которые приходят на помощь в таких ситуациях […]

Читать далее »

Повторная генерация и трансляция исключений

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

Читать далее »
 
Rambler's Top100