- •1. Понятие информационной системы (ис). Корпоративные ис. Структура ис.
- •2. Понятие информационной системы (ис). Корпоративные ис. Классификация ис.
- •3. История развития ис.
- •4. .Net Framework. Общеязыковая среда исполнения (clr). Управляемые модули и сборки.
- •5. .Net Framework. Общая система типов (cts) и Общеязыковая спецификация (cls).
- •6. .Net Framework. Механизм сборки мусора.
- •7. C#. Объявление класса.
- •8. Java. Объявление класса.
- •9. C#. Делегаты.
- •10. C#. События.
- •11. C#. Наследование: правила, синтаксис. Сокрытие имен.
- •12. Java. Наследование: правила, синтаксис. Сокрытие имен.
- •13. Правила наследования типов. Принцип «Open-Closed Principle».
- •14. Правила наследования типов. Принцип «Liskov Substitution Principle».
- •15. C#. Приведение типов. Операторы as и is.
- •16. C#. Виртуальные и невиртуальные методы. Статические методы.
- •17. C#. Абстрактные и конечные методы.
- •310 Часть I. Язык с#
- •18. Java. Абстрактные, виртуальные, конечные и статические методы.
- •19. C# и Java. Интерфейсы.
- •20.C#. Структуры.
- •21. C#. Перечисления.
- •22.C#. Упаковка и распаковка объектов значимых типов.
- •23.C# и Java. Исключения. Механизм исключений.
- •24.C# и Java. Исключения. Классы исключений.
- •25.C# и Java. Исключения. Основные принципы использования механизма
- •26.C#. Обобщения: понятие и синтаксис. Ограничения обобщений.
- •27. Java. Обобщения: понятие и синтаксис.
- •28.C#. Коллекции.
- •29.Java. Коллекции.
- •30.C#. Dispose Pattern.
- •31. .Net Framework 3.0, 3.5, 3.5 sp1: общая характеристика.
- •32. C# 3.0, linq: обзор.
- •Источники данных
- •SqlMetal
- •33. Понятие жизненного цикла ис (жц ис). Каскадная модель жц ис.
- •34. Понятие жизненного цикла ис (жц ис). Спиральная модель жц ис.
- •35. Анализ требований. Функциональные и нефункциональные требования.
- •36 Требования и прецеденты. Формат описания прецедента. Структура прецедента.
- •37 Требования и прецеденты. Взаимосвязь прецедентов.
- •38 Модель предметной области. Концептуальные классы. Ассоциации и атрибуты.
- •39 Язык uml. Способы использования. Model Driven Architecture. Executable uml. ДиаграммыUml.
- •40 Диаграмма прецедентов.
- •41. Диаграмма классов. Обозначение классов. Отношение ассоциации.
- •42.Диаграмма классов. Обозначение интерфейсов. Отношение обобщения и зависимости.
- •43.Диаграмма объектов.
- •44.Диаграмма пакетов.
- •45.Диаграмма состояний.
- •46.Диаграмма развертывания.
- •49.Диаграмма коммуникации.
- •50.Паттерн: понятие, структура, классификация.
- •1) Понятие паттерна
- •2) Структура и Классификация паттернов
- •51. Проектирование на основе обязанностей. Принципы grasp.
- •52.Grasp: принцип Low Coupling.
- •53.Grasp: принцип High Cohesion.
- •54.Grasp: принцип Information Expert.
- •55. Grasp: принцип Creator.
- •56.Grasp: принцип Pure Fabrication.
- •57. Grasp: принцип Indirection.
- •59.Grasp: принцип Protected Variations.
- •60.Grasp: принцип Controller.
23.C# и Java. Исключения. Механизм исключений.
Исключение (exception) — оповещение о невозможности выполнить запрошенное действие
Механизм
void SomeMethod() {
try { 1 }
catch(IOException) { 2 }
catch(Exception) { 3 }
catch { 4 }
finally { 5 }
6
}
Блок try
Содержит код, требующий:
освобождения ресурсов
или восстановления после исключения
Должен быть связан с finally или catch
Блок catch
Содержит код, выполняющийся при возникновении исключения
Код не выполняется, если исключение не возникло
Тип исключения — System.Exception или потомок
Блоки catch просматриваются «сверху вниз»
Блок catch
Если фильтр не найден — просматривается стек вызовов
Если фильтр не найден — исключение считается необработанным
Код выполняет восстановление после исключения, а также:
генерируется то же исключение;
генерируется другое исключение
ничего не предпринимается
Блок finally
Содержит код, выполнение которого гарантируется
операции очистки после действий в блоке try
Не обязателен
Размещается после всех блоков catch
Может быть только один
24.C# и Java. Исключения. Классы исключений.
Исключение (exception) — оповещение о невозможности выполнить запрошенное действие
Классы исключений
базовый тип всех исключений — Exception
CLR генерирует исключения-потомки SystemException
в приложениях генерируются потомки ApplicationException
хотели как лучше...
Класс System.Exception
Message
Data
Source — имя сборки, сгенерировавшей исключение
StackTrace
TargetSite — метод, сгенерировавший исключение
HelpLink — URL документации исключения
InnerException
В С# исключение — это объект, созданный (говорят, что исключение возбуждено или сгенерировано) при наступлении определенной исключительной ошибочной ситуации. Этот объект содержит информацию, которая может помочь отследить причину возникновения проблемы. Хотя вы можете создавать свои собственные классы исключений (и мы займемся этим позднее), .NET представляет множество предопределенных классов исключений. В этом разделе будет представлен краткий обзор некоторых исключений, доступных в базовой библиотеке классов .NET. Microsoft предлагает большое количество классов исключений в .NET — их слишком много, чтобы привести здесь полный список. Диаграмма иерархии классов на рис. 14.1 оказывает некоторые из этих классов, чтобы дать представление об общем шаблоне. Все классы, показанные на рис. 14.1, является частью пространства имен System, за исключением IOException и классов, унаследованных от IOException, которые представляют собой часть пространства имен System. 10. Пространство имен System. 10 имеет дело с чтением и записью данных в файлы. Вообще не существует определенного пространства имен для исключений; классы исключений должны быть помещены в те пространства, где находятся классы, которые могут их генерировать, потому исключения, связанные с вводом-выводом (Ю) находятся в System. 10, а другие классы исключений вы найдете в других пространствах имен базовых классов. Наиболее общий класс исключений, System.Exception, унаследован от System. Object, как и следовало ожидать от класса .NET. Вообще вы не должны создавать объекты исключений System.Exception в своем коде, потому что они не несут в себе никакой специфики конкретной ошибочной ситуации.
