Почему вылетает исключение - C#

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

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

Есть метод чтения данных из файла, есть свой класс исключение который выводит сообщение о неправильном формате файла. Делаю следующее:
    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);
        }
В метод объекта передаю файл csv к примеру:
        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();
        }
    }
}

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


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

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

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