Пользовательские классы исключений

April 7, 2010 by admin Нет комментариев »

У последнего примера имеется недостаток — вызывающая сторона не может определить причину исключения при вызове DoAverage() на основании одного типа исключения. Чтобы узнать, что исключение произошло из-за нулевого значения переменной count, в тексте сообщения приходится искать строку "Count is zero".

» Читать запись: Пользовательские классы исключений

Передача исключений вызывающей стороне

April 7, 2010 by admin Нет комментариев »

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

» Читать запись: Передача исключений вызывающей стороне

Иерархия исключений

April 7, 2010 by admin Нет комментариев »

Все классы исключений C# являются производными от класса Exception, который является частью Common Language Runtime[1]. При возникновении исключения блок catch выбирается среди подходящих блоков, для чего тип исключения сравнивается с типом, указанным в блоке. Блокам catch с точным совпадением типа отдается предпочтение перед более общими исключениями. Вернемся к нашему примеру:

» Читать запись: Иерархия исключений

Проверка и перехват исключений

April 7, 2010 by admin Нет комментариев »

Обработка исключений требует несколько специфической организации программного кода. Фрагменты, которые могут инициировать исключения, помещаются в блок try, а код обработки исключений находится в блоке catch. Рассмотрим пример:

using System;

» Читать запись: Проверка и перехват исключений

Команды

April 7, 2010 by admin Нет комментариев »

Команды C# аналогичны командам C++ за некоторыми исключениями, уменьшающими вероятность ошибки. Имеется и несколько новых команд. Команда foreach используется для перебора элементов массивов и коллекций. Команда lock реализует механизм взаимного исключения в многопоточных сценариях, а команды checked и unchecked управляют проверкой переполнения в математических операциях и преобразованиях.

» Читать запись: Команды

Основные типы данных

April 7, 2010 by admin Нет комментариев »

В C# поддерживается стандартный набор типов данных. Для каждого типа данных, поддерживаемого C#, существует соответствующий тип .NET Common Language Runtime. Например, тип int в C# соответствует типу System.Int32 времени выполнения. В большинстве случаев вместо типа int можно указывать System.Int32, однако подобные замены не рекомендуются, поскольку это усложняет чтение программы.

» Читать запись: Основные типы данных

Пространства имен и команда using

April 7, 2010 by admin Нет комментариев »

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

» Читать запись: Пространства имен и команда using

Первое знакомство с C#

April 7, 2010 by admin Нет комментариев »

В этой главе представлен краткий обзор языка C#. Предполагается, что читатель уже обладает некоторым опытом программирования, поэтому материал излагается довольно бегло. Если что-то покажется непонятным, обратитесь к более подробному описанию конкретной темы на страницах этой книги.

» Читать запись: Первое знакомство с C#

Среда .NET Runtime

April 7, 2010 by admin Нет комментариев »

В прошлом написание модулей, которые могли вызываться из разных языков программирования, считалось сложной задачей. Программу, написанную на Visual Basic, нельзя было вызвать из Visual C++. Программы, написанные на Visual C++, в некоторых случаях могли вызываться из Visual Basic, но сделать это было непросто. В Visual C++ используются runtime-модули C и C++, отличающиеся весьма специфическим поведением, а механизм работы программ Visual Basic также отличался специфическим (и совершенно непохожим) поведением.

» Читать запись: Среда .NET Runtime

Полиморфизм и виртуальные функции

April 7, 2010 by admin Нет комментариев »

Недавно, когда автор программировал музыкальную систему, было принято решение, что в качестве механизмов воспроизведения система должна поддерживать как WinAmp, так и Windows Media Player, однако при этом программный код не должен знать, какой именно механизм используется. Исходя из этого, был определен абстрактный класс (abstract class), то есть класс, функции которого должны быть реализованы в производном классе, и который иногда содержит функции, используемые несколькими потомками.

» Читать запись: Полиморфизм и виртуальные функции

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты