Перехват исключений файлов с помощью c # - PullRequest
0 голосов
/ 21 января 2019

Ниже я борюсь сегодня с помощью консольного приложения Visual Studios.

Я хочу, чтобы в данный момент этого не происходило, когда открывается консольное приложение, и я набираю первый «checkPath», если его не существует, я хочу сказать, что путь неверный и либо разрешите пользователю повторить попытку, либо закройте приложение. Если путь действителен, то он переходит к следующему «reportDest», и то же самое применяется. Если это неверный путь, мне нужно сообщение с таким сообщением, с возможностью повторить попытку или закрыть приложение. Если оба введенных пути (в конце концов) верны, я хочу сообщение о том, что отчет теперь будет создан. Остальная часть сценария, который создает отчет, прекрасно работает, это просто неприятность, которую я изложил ниже.

            string checksPath;
        Console.Write("Please enter the source path for the Checks Workbook, including the name of the file (Not including the file extension): ");
        checksPath = Console.ReadLine() + ".xlsx";

        try
        {
            if (File.Exists("checksPath"))
                throw new FileNotFoundException();
        }
        catch (FileNotFoundException e)
        {
            Console.WriteLine("Invalid path - Please close the app and try again!");
            Console.ReadLine();
        }



            string reportDest;
            Console.Write("Please enter the folder location and file you wish your report to go to (Not including the file extension): ");
            reportDest = Console.ReadLine() + ".xlsx";

        try
        {
            if (File.Exists("reportDest"))
                throw new FileNotFoundException();
        }
        catch (FileNotFoundException e)
        {
            Console.WriteLine("Invalid path - Please close the app and try again!");
            Console.ReadLine();
        }



        Console.WriteLine("Your report will now produce");

1 Ответ

0 голосов
/ 21 января 2019

Поскольку вам нужно постоянно задавать вопрос, пока пользователь не поймет его правильно, вам понадобится цикл.Далее в этом цикле вам нужно проверить, существует ли путь.

            bool run = true;

            while (run)
            {
                Console.Clear();
                Console.WriteLine("Enter Path:");
                string answer = Console.ReadLine();

                if (Directory.Exists(answer)) run = false;
                else
                {
                    Console.WriteLine("Path Does not exists. Try again. Press enter to continue...");
                    Console.ReadLine();
                }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...