Перехват ошибок try-catch - C#

Узнай цену своей работы

Формулировка задачи:

В общем, нужно перехватить ошибки, через try-catch, как я понимаю, в моем случае, ошибка возможна при вводе не правильного параметра строки (Пути директории). Знаю, что нужно сделать через try-catch, но никогда его не использовал. Если не трудно, подскажите пожалуйста, вот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Diagnostics;
 
namespace Files
{
    class Program
    {
        static string way = null;
        static void Main(string[] args)
        {
                #region Путь к каталогу
                for (int k = 0; k < args.Length; k++)
                {
                    //Меню выбора.
                    string enter = args[k];
                    switch (enter.ToLower())
                    {
                        case "way":
                        case "/way":
                            {
                                way = args[k + 1]; // Входной параметр (Путь к директории)
                                break;
                            }
                    }
                }
                #endregion
                
                    if (!Directory.Exists(way + @"\")) // Проверяем, существует ли данный каталог
                    {
                        Directory.CreateDirectory(way + @"\"); // если нет, то создаем его.
                        if (!File.Exists(way + @"\information.txt")) // Проверяем, существует ли данный файл
                        {
                            File.CreateText(way + @"\information.txt"); // Если нет, то создаем его
                        }
                    }
                    string[] files1 = Directory.GetFiles(way + @"\"); // список всех файлов в директории 
                    string s = "";
                    StreamWriter info = new StreamWriter(way + @"\information.txt"); // Поток, для чтения и записи информации
                    info.WriteLine("Список файлов, найденых в данной директории:"); // Записываем в лог-файл (1)
                    for (int j = 0; j < files1.Length; j++)
                    {
                        info.WriteLine(string.Format("{0}:{1}", j + 1, files1[j])); // Записываем в лог-файл (2)
                    }
                    for (int i = 0; i < files1.Length; i++)
                    {
                        s = Path.GetFileNameWithoutExtension(files1[i]); // Присваиваем переменной значение имени [i]-го файла
                        if (!Directory.Exists(way + @"\" + s)) // Проверяем, существует ли данный каталог
                        {
                            Directory.CreateDirectory(way + @"\" + s); // если нет, то создаем его.
                            info.WriteLine(string.Format("Создание каталога {0}", s)); // Записываем в лог-файл (3)
                        }
                        else
                        {
                            info.WriteLine(string.Format("Попытка Создания каталога {0}. Каталог небыл создан, т.к. уже существует", s)); // Записываем в лог-файл (4)
                        }
 
                    }
                    info.WriteLine("--------------------------------------------"); // Записываем в лог-файл (5)
                    info.Close(); // Закрываем лог-файл.              
            Console.WriteLine (string.Format("Обработка данных успешно завершена, пожалуйста, проследуйте в директорию {0}, для завершения программы, нажмите любую клавишу",way+@"\"));
            Console.ReadKey();
        }
    }
}

Решение задачи: «Перехват ошибок try-catch»

textual
Листинг программы
catch (Exception e)
            {
                Console.WriteLine(e.Message);
                zapisdel(e.Message);
                 sendinfo = "1";
                return sendinfo;
             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы