Перехват ошибок 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;
}