Создание пользовательского исключения - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д