Создание пользовательского исключения - C#

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

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

Подскажите, пожалуйста, как создать пользовательское исключение. Я написала код.
VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());
Мы открываем файл и там должна находится строка, которая будет означать количество вершин фигуры и потом переводим это значение в тип int. Если такой строки нет, то нужно выдать исключение " В файле не указано количество вершин. Файл не может быть обработан"). Я пробовала многими методами, но у меня постоянно пишет,что ошибка. Сначала я создала класс MyException c конструктором без параметров.
public class MyException : Exception
{
    public MyException()
    {
      
         MessageBox.Show("В файле не указано количество вершин. Файл не может быть обработан");
    }
Потом я сделала так:
 if (STREAM_READER.ReadLine() == "")
                {
                    throw new MyException();

                }

                else
                
                    VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());
Но когда я запускаю, то пишет исключение в строке VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());, которое не обработано. Пробовала сделать еще другим способом:
try
{
VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());
throw new MyException();
}
catch(MyException ex)
{
MessageBox.Show(ex.Message);
}
Все равно пишет, что ошибка в той же строке. Подскажите, пожалуйста, как правильно создать пользовательское исключение для строки VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine()?

Решение задачи: «Создание пользовательского исключения»

textual
Листинг программы
    public class WrongFileContentException : Exception
    {
        private string fileName;
 
        public string FileName { get { return fileName; } }
        public override string Message
        {
            get
            {
                if (fileName == null) return base.Message;
                else
                    return "В файле " + FileName + " не указано количество вершин. Файл не может быть обработан";
            }
        }
 
        //Стандартные конструкторы
        public WrongFileContentException() : base() { }
        public WrongFileContentException(string message) : base(message){}
        public WrongFileContentException(string message, Exception innerException) : base(message,innerException){}
 
        //Конструктор для свойства FileName
        public WrongFileContentException(string message, string fileName) : this(message) { this.fileName = fileName; }
    }

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


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

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

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