@0a1a2a3a4a5

Try/catch не ловит NullReferenceException, как исправить?

Код:

try
{
        using ShellObject shell = ShellObject.FromParsingName(filePath);

        IShellProperty prop = shell.Properties.System.Media.Duration;

        ulong t = (ulong)prop.ValueAsObject;

        return TimeSpan.FromTicks((long)t);
}
catch
{
        return TimeSpan.FromTicks(0);
}


Добавление всяких "Exception/NullReferenceException e" в аргументы catch не помогает

63c176b6e38c2642054174.png
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
Adler_lug
@Adler_lug
Это в отладчике. А если запускать скомпилированный файл ошибка так же возникает или всё-таки исключение обрабатывается в try-catch?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
NikFaraday
@NikFaraday
Student full-stack Developer
Ну вообще-то возле catch нужно писать тип исключения, который вы хотите отслеживать, типа вот так:
try
{
   ...
{
catch (NullReferenceException ex) // ex.Message содержит информацию об ошибке
{
   ...
}


Или, если вы хотите отслеживать все типы исключения, то можно отслеживать просто Exception:
try
{
   ...
}
catch (Exception ex) // ex.Message всё ещё содержит информацию об ошибке)
{
   ...
}


Вот тут можете прочитать более детально об try/catch
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы