Создание пользовательского исключения - C#
Формулировка задачи:
Подскажите, пожалуйста, как создать пользовательское исключение. Я написала код.
Мы открываем файл и там должна находится строка, которая будет означать количество вершин фигуры и потом переводим это значение в тип int. Если такой строки нет, то нужно выдать исключение " В файле не указано количество вершин. Файл не может быть обработан").
Я пробовала многими методами, но у меня постоянно пишет,что ошибка.
Сначала я создала класс MyException c конструктором без параметров.
Потом я сделала так:
Но когда я запускаю, то пишет исключение в строке VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());, которое не обработано.
Пробовала сделать еще другим способом:
Все равно пишет, что ошибка в той же строке. Подскажите, пожалуйста, как правильно создать пользовательское исключение для строки VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine()?
Листинг программы
- VERTEX_COUNT = Convert.ToInt32(STREAM_READER.ReadLine());
Листинг программы
- public class MyException : Exception
- {
- public MyException()
- {
- MessageBox.Show("В файле не указано количество вершин. Файл не может быть обработан");
- }
Листинг программы
- if (STREAM_READER.ReadLine() == "")
- {
- throw new MyException();
- }
- else
- 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);
- }
Решение задачи: «Создание пользовательского исключения»
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; }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д