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

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

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

Подскажите, пожалуйста, как создать пользовательское исключение. Я написала код.
Листинг программы
  1. VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());
Мы открываем файл и там должна находится строка, которая будет означать количество вершин фигуры и потом переводим это значение в тип int. Если такой строки нет, то нужно выдать исключение " В файле не указано количество вершин. Файл не может быть обработан"). Я пробовала многими методами, но у меня постоянно пишет,что ошибка. Сначала я создала класс MyException c конструктором без параметров.
Листинг программы
  1. public class MyException : Exception
  2. {
  3. public MyException()
  4. {
  5. MessageBox.Show("В файле не указано количество вершин. Файл не может быть обработан");
  6. }
Потом я сделала так:
Листинг программы
  1. if (STREAM_READER.ReadLine() == "")
  2. {
  3. throw new MyException();
  4.  
  5. }
  6.  
  7. else
  8. VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());
Но когда я запускаю, то пишет исключение в строке VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());, которое не обработано. Пробовала сделать еще другим способом:
Листинг программы
  1. try
  2. {
  3. VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());
  4. throw new MyException();
  5. }
  6. catch(MyException ex)
  7. {
  8. MessageBox.Show(ex.Message);
  9. }
Все равно пишет, что ошибка в той же строке. Подскажите, пожалуйста, как правильно создать пользовательское исключение для строки VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine()?

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

textual
Листинг программы
  1.     public class WrongFileContentException : Exception
  2.     {
  3.         private string fileName;
  4.  
  5.         public string FileName { get { return fileName; } }
  6.         public override string Message
  7.         {
  8.             get
  9.             {
  10.                 if (fileName == null) return base.Message;
  11.                 else
  12.                     return "В файле " + FileName + " не указано количество вершин. Файл не может быть обработан";
  13.             }
  14.         }
  15.  
  16.         //Стандартные конструкторы
  17.         public WrongFileContentException() : base() { }
  18.         public WrongFileContentException(string message) : base(message){}
  19.         public WrongFileContentException(string message, Exception innerException) : base(message,innerException){}
  20.  
  21.         //Конструктор для свойства FileName
  22.         public WrongFileContentException(string message, string fileName) : this(message) { this.fileName = fileName; }
  23.     }

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


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

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

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы