Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Обработка исключений


Автор: Dumm 21.2.2016, 18:19
Приветствую! В ходе работы программы для записи файлов генерируется исключительная ситуация. Создается объект от класса IO.IOException
Код

        Catch excp As IO.IOException
        End Try
 И создается он при разных ошибках: и если копируемый файл уже существует и если недостаточно места на диске. Меняется только текст сообщения. А как мне анализировать эту исключительную ситуацию? Сравнивать текстовое сообщение?

Автор: diadiavova 21.2.2016, 18:49
Цитата(Dumm @  21.2.2016,  18:19 Найти цитируемый пост)
А как мне анализировать эту исключительную ситуацию? Сравнивать текстовое сообщение? 

Ну раз тип исключения один, стало быть или текст или постарайся избегать таких ситуаций, например, проверяя предварительно существование файла и количество доступного дискового пространства.

Автор: Dumm 21.2.2016, 19:14
Ясно. Спасибо.

Автор: Замабувараев 13.5.2016, 14:35
Вообще, от System.IO.IOException происходят следующие исключения:
DirectoryNotFoundException
DriveNotFoundException
EndOfStreamException
FileLoadException
FileNotFoundException
PathTooLongException
PipeException

Можно попробовать привести переменную исключения к конкретному типу.

Автор: diadiavova 13.5.2016, 14:48
Цитата(Замабувараев @  13.5.2016,  14:35 Найти цитируемый пост)
Можно попробовать привести переменную исключения к конкретному типу.

Я не думаю, что это что-то даст. Если тип был установлен экспериментально и оказалось, что перехватывается исключение именно этого типа, а не его подтипов, то подобные манипуляции ничего не дадут, а попытка приведения к подтипу вызовет новое исключение.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)