Создание пользовательского исключения - 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; }
}