Добавил:
выбрасываю тут свой мусор, надеюсь, что он кому-то может пригодится... Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP-KONEChNYJ.docx
Скачиваний:
20
Добавлен:
03.12.2023
Размер:
7.72 Mб
Скачать

13. Обработка и генерация исключений. Создание собственных исключений для приложения.

Есть 3 типа ошибок: 1) программные (ошибка в логике )

2) пользовательские

3) исключения

Существую класс исключений System.Exeption, все исключения наследуются от него.

Для определения своих исключений стоит наследовать их от System.ApplicationException (тоже наследуется от System.Exeption). Это будет означать, что исключение будет вызвано кодом функционирующего приложения. В созданном исключении должны быть определены нужные конструкторы для создания.

Синтаксис:

try {

// какой-то код

throw new SomeException(); // выбрасываем исключение типа SomeException

}

catch (SomeException ex) {

// обработка исключения

} catch (Exception ex) {

// обработка исключения

}

finally {

// блок, который выполняется всегда. Он не обязательный.

}

В случае выбрасывания исключения выполнения блока try заканчивается и программа ищет нужный блок catch по типу исключения. Выполняется первый блок catch который подходит по типу (учитывая наследование). Если подходящий блок catch не найден – программа завершает свою работу.

Блок finally выполняется в любом случае, вне зависимости было ли выброшено исключение или нет. Это необязательный блок.

14. Локализация WinForms-приложений. Понятие ресурсов и подчиненной сборки.

Локализуемые данные добавляются в сборку с помощью файлов .resources, которые в конечном итоге добавляются в сборку как встроенные ресурсы точно также как и остальные файлы.

Эти файлы являются двоичными и редактировать их непосредственно нельзя. Поэтому обычно на этапе разработки создаются файлы .resx, которые затем с помощью Visual Studio или утилиты resgen преобразуются в файлы .resources (которые в свою очередь уже встраиваются в сборку).

Файл .resx можно создать с помощью Visual Studio, добавив в проект элемент типа Resources File (Файл ресурсов). Visual Studio сама создаст корректную структуру файла, а в дальнейшем автоматически преобразует его в файл .resources и встроит в сборку при компиляции.

Также при создании файла .resx Visual Studio автоматически создает класс с тем же именем; этот класс имеет свойства для извлечения каждого элемента. Однако можно работать с данными из файла .resources и напрямую, с помощью класса ResourceManager.

Подчиненные сборки

Локализация данных осуществляется с помощью подчиненных сборок. Подчиненные сборки содержат локализованные файл .resources, переведенные на различные языки. При этом основная сборка должна содержать файл .resources для языка по умолчанию. Когда приложение запускается, платформа .NET выясняет язык текущей ОС, и каждый раз при обращении к классу ResourceManager платформа ищет соответствующую локализованную сборку. Если она найдена и содержит соответствующий ключ ресурса, она будет использована вместо главной сборки, в противном случае будет использована версия из главной сборки. Подчиненная сборка не может содержать исполняемого кода, а только локализованные ресурсы.

Чтобы добавить подчиненную сборку нужно добавить в проект еще один файл .resx, название которого должно содержать код локализации (отделенный точкой), например, welcome.de.resx. При компиляции в Visual Studio будет автоматически создан подкаталог (например, de), а в нем подчиненная сборка (например, MyApp.resources.dll).

Культуры разделяются на собственно культуры и подкультуры. культура представляет конкретный язык, а подкультура — региональный вариант этого языка. Культура обозначается с помощью двухбуквенного кода (например, en, de), а подкультуры — с помощью четырехбуквенного(en-AU, de-AT). В документе RFC 1766 содержится полный список наименований культур, которые применяются по всему миру, в зависимости от языка и страны или региона. Платформа .NET поддерживает концепцию информации о культуре, а строки хранятся в формате Unicode (16 бит), что позволяет писать их на множестве языков.

Обычно приложение состоит из основной исполняемой сборки (.exe) и нескольких связанных библиотечных сборок (.dll). Разрешение сборок — это процесс нахождения сборок, на которые производится ссылка. Оно происходит как на этапе компиляции, так и во время выполнения.

Соседние файлы в предмете Объектно-ориентированное программирование