- •Гугл-дока для екзамену Архітектура компютера. Програмне забезпечення
- •1. Поняття платформи. Структура та основні складові .Net Framework.
- •2. Функції та структура clr.
- •3. Поняття збірки. Метадані. Схема виконання .Net-додатку в clr.
- •4. Система типів даних мови c#. Типи-значення.
- •5. Система типів даних мови c#. Типи-посилання.
- •6. Масиви в c#: одновимірні, багатовимірні, ступеневі. Методи та властивості класу Array.
- •7. Методи в c#: модифікатори доступу, передача параметрів, перевантаження, наслідування.
- •7. Методи в c#: модифікатори доступу, передача параметрів, перевантаження, наслідування.(Второй вариант)
- •8. Багатопоточне програмування засобами .Net. Структура процесу ос Windows. Клас Thread.
- •9. Характеристика засобів синхронізації потоків та процесів .Net Framework.
- •10. Об’єкти синхронізації потоків .Net Monitor та ReaderWriterLock.
- •11. Об’єкти синхронізації потоків .Net lock та ManualResetEvent.
- •12. Об’єкти синхронізації потоків .Net AutoResetEvent та Mutex.
- •13. Обробка виключних ситуацій в мові c#, основні класи та методи .Net щодо обробки виключень.
- •14. Віртуальні функції та абстрактні класи в мові c#.
- •15. Статичні конструктори, поля та методи класів в мові c#.
- •17. Інтерфейси в мові c#. Порівняння з абстрактними класами. Сфера застосування інтерфейсів.
- •18. Огляд колекцій в .Net. Основні інтерфейси, що лежать в основі доступу до колекцій.
- •19. Колекція ArrayList. Методи та властивості. Переваги та недоліки використання.
- •20. Колекції Stack та Queue. Методи та властивості.
- •21. Колекція BitArray. Методи та властивості. Переваги та недоліки використання.
- •22. Колекція HashTable. Методи та властивості. Переваги та недоліки використання.
- •23. Характеристика generic-колекцій .Net
- •24. Колекція LinkedList. Методи та властивості.
- •26. Групи класів доступу до даних технології ado.Net.
- •27. Характеристика від’єднаних класів технології ado.Net.
- •28. Характеристика під’єднаних класів технології ado.Net.
- •29. Завантаження бінарних об’єктів у базу даних та вивантаження їх із неї.
- •30. Транзакції в базах даних. Інтерфейс транзакцій технології ado.Net.
- •31. Особливості мережевих протоколів tcp та udp. Поняття порту, адреси, сокету.
- •32. Характеристика сокетів зі з’єднанням. Інтерфейс класу Socket для даного типу сокетів.
- •33. Характеристика сокетів без з’єднання. Інтерфейс класу Socket для даного типу сокетів.
- •34. Характеристика асинхронних та синхронних сокетів. Інтерфейс класу Socket для даного типу сокетів.
- •35. Узагальнений алгоритм взаємодії клієнта та сервера при синхронному сокетному способі обміну даними зі з’єднанням. Інтерфейс класу tcpListener.
- •36. Узагальнений алгоритм взаємодії клієнта та сервера при синхронному сокетному способі обміну даними без з’єднання. Інтерфейс класу tcpClient..
- •37. Загальна схема та реалізація багатопоточного сокетного сервера зі з’єднанням.
- •38. Поняття сервіс-орієнтованого архітектури. Web-сервіси: переваги та недоліки, стандарти в основі Web-сервісів.
- •Стандарти, що використовуються веб-службами
- •Переваги веб-служб
- •Недоліки веб-служб
- •39. Компоненти архітектури Web-сервісів. Протоколи для Web-сервісів. Приклад реалізації серверної частини Web-сервісу.
- •Используемые стандарты
13. Обробка виключних ситуацій в мові c#, основні класи та методи .Net щодо обробки виключень.
При обработке исключений используются ключевые слова try, catch и finally для попыток применения действий, которые могут не достичь успеха, для обработки ошибок и для последующего освобождения ресурсов. Исключения могут генерироваться средой CLR, платформой .NET Framework или внешними библиотеками, либо кодом приложения. Исключения создаются при помощи ключевого слова throw. Свойства:
- Исключения имеют типы, производные от System.Exception.
- В блоках try заключаются инструкции, которые могут выдать исключения.
- При возникновении исключения в блоке try поток управления немедленно переходит к блоку catch (обработчику исключений).
- Если обработчик для определенного исключения не существует, выполнение программы завершается с сообщением об ошибке.
- В блоке catch можно определить переменную исключения и использовать для получения дополнительной информации о типе произошедшего исключения.
- Объекты исключения содержат подробные сведения об ошибке, такие как состояние стека вызовов и текстовое описание ошибки.
- Код в блоке finally выполняется, даже при возникновении исключения. Блок finally используется для освобождения ресурсов, например для закрытия потоков или файлов, открытых в блоке try.
Блок catch может указывать тип перехватываемого исключения. Блоки catch проверяются сверху вниз в коде, однако для каждого вызванного исключения выполняется только один блок catch. Выполняется первый блок catch, указывающий точный тип или базовый класс созданного исключения. Очень важно, чтобы первыми были размещены блоки catch с самыми конкретными (т. е., самыми производными) типами исключений.
Некоторые исключения автоматически создаются средой CLR приложения платформы .NET Framework, когда происходит сбой основной операции:
Исключение |
Описание |
ArithmeticException |
Основной класс исключений, происходящих при выполнении арифметических операций, таких как DivideByZeroException и OverflowException. |
ArrayTypeMismatchException |
Создается, когда массив не может хранить данный элемент, поскольку фактический тип элемента несовместим с фактическим типом массива. |
DivideByZeroException |
Создается при попытке разделить целое число на ноль. |
IndexOutOfRangeException |
Создается при попытке индексирования массива, если индекс меньше нуля или выходит за границы массива. |
InvalidCastException |
Создается, когда происходит сбой явного преобразования из основного типа в интерфейс либо в производный тип во время выполнения. |
NullReferenceException |
Создается при попытке ссылки на объект, значение которого равно null. |
OutOfMemoryException |
Создается при неудаче попытки выделения памяти с помощью оператора new. Это означает, что память, доступная для среды выполнения, уже исчерпана. |
OverflowException |
Создается при переполнении арифметической операции в контексте checked. |
StackOverflowException |
Создается, когда стек выполнения переполнен за счет слишком большого количества вызовов отложенных методов; обычно является признаком очень глубокой или бесконечной рекурсии. |
TypeInitializationException |
Создается, когда статический конструктор создает исключение, и не существует ни одного совместимого предложения catch для его захвата. |