Повторение — обработка ошибок
Часть раздела Логика и управление потоком путешествия по C# на Coddy. Урок 30 из 66.
Задание
СреднеCreate метод с именем processUserData, который:
- Принимает два параметра: string
filePathи intuserAge - Использует инструкцию using, чтобы прочитать первую строку из file по адресу
filePath - Проверяет, что
userAgeнаходится between 18 и 120 (включительно) - Если возраст недействителен, throw пользовательское исключение с именем
InvalidUserAgeExceptionи сообщением "Age must be between 18 and 120" - Если file не существует, catch FileNotFoundException и вывести "User file not found"
- Если происходит другое исключение IO, catch его и вывести "Error reading user data: [exception message]"
- Для любых других исключений вывести "An unexpected error occurred"
- return content file, если операция выполнена успешно, или "No data", если происходит любое исключение
Попробуйте сами
using System;
using System.IO;
class ProcessUserData
{
// Создайте здесь своё пользовательское исключение
public static string processUserData(string filePath, int userAge)
{
// Напишите здесь свой код
}
}Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовОбъявление и инициализация 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиЗубчатые массивыОсновные операции с матрицамиПовторение — многомерные массивы4Методы управления потоком выполнения
Досрочный выходЗащитные условияОператоры перехода (goto)Break и ContinueУпрощение вложенных условных конструкций7Логические операторы: продвинутый уровень
Вычисление с коротким замыканиемУсловные логические операторыПриоритет операторовПовторение — продвинутые операторы2Продвинутое принятие решений
Множественные условияСложная логика BooleanСравнение If и SwitchВложенные конструкции SwitchПовторение — продвинутые решения5Обработка исключений
Основы Try-CatchТипы исключенийНесколько блоков CatchРабота с файламиБлок FinallyИспользование Using вместо Try-FinallyПользовательские исключенияПовторение — обработка ошибок3Улучшение циклов
Производительность цикловИтерация по сложным структурамКаждый тип циклаРефакторинг цикловПовторение — оптимизированные циклы6Обработка null
Основы ссылок на nullТипы значений, допускающие nullШаблоны проверки на nullЗащитное программированиеПовторение — безопасность при работе с nullПотренируйтесь самостоятельно: Онлайн-компилятор C#