Recap - Error Handling
Часть раздела Логика и управление потоком путешествия по C# на Coddy — урок 30 из 66.
Задание
СреднеСоздайте метод с именем processUserData, который:
- Принимает два параметра: строку
filePathи целое числоuserAge - Использует конструкцию using для чтения первой строки из файла по пути
filePath - Проверяет, что
userAgeнаходится между 18 и 120 (включительно) - Если возраст недействителен, выбрасывает пользовательское исключение с именем
InvalidUserAgeExceptionс сообщением "Age must be between 18 and 120" - Если файл не существует, перехватывает FileNotFoundException и выводит "User file not found"
- Если возникает другое исключение ввода-вывода, перехватывает его и выводит "Error reading user data: [exception message]"
- Для любых других исключений выводит "An unexpected error occurred"
- Возвращает содержимое файла в случае успеха или "No data", если произошло какое-либо исключение
Попробуйте сами
using System;
using System.IO;
class ProcessUserData
{
// Создайте ваше собственное исключение здесь
public static string processUserData(string filePath, int userAge)
{
// Напишите ваш код здесь
}
}Все уроки раздела Логика и управление потоком
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety