Почему вылетает исключение - C#
Формулировка задачи:
Есть метод чтения данных из файла, есть свой класс исключение который выводит сообщение о неправильном формате файла. Делаю следующее:
В метод объекта передаю файл csv к примеру:
вылетает исключение, почему?
public void Load(string path) { if (list.Count > 0) list.Clear(); string ext = Path.GetExtension(path); try { if (ext != ".xml" || ext != ".csv") throw new InvalidFileFormatException("Ошибка открытия файла: Неверный формат"); else { ............................ .............................. .............................. } catch (InvalidFileFormatException e) { Console.WriteLine(e.Message); }
cl.Load(@"d:\text.csv");
проверяю дебагером после получения расширения файла переменная ext = ".csv"
Решение задачи: «Почему вылетает исключение»
textual
Листинг программы
using System; using System.IO; namespace SomeNamespace { class InvalidFileFormatException : Exception { public InvalidFileFormatException(string message) : base(message) { } } class FileName { public FileName(string fileName) { string ext = Path.GetExtension(fileName); if (ext != ".aspx") { throw new InvalidFileFormatException("Invalid file name: " + fileName); } else { Console.WriteLine("OK " + fileName); } } } class Program { static void Main() { string ext = Path.GetExtension(@"c:\inetpub\WebSites\MyFirst\Default.aspx"); string validFdleName = @"c:\inetpub\WebSites\MyFirst\Default.aspx"; string invalidFileName = @"c:\inetpub\WebSites\MyFirst\Default.asp"; FileName fm; try { fm = new FileName(validFdleName); } catch (InvalidFileFormatException e) { Console.WriteLine(e.Message); } try { fm = new FileName(invalidFileName); } catch (InvalidFileFormatException e) { Console.WriteLine(e.Message); } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д