Есть код:
return ((IMenuItemVM) ((IContentVMBase) ChoosedMenu.Content).VM).CanContinue;
Все работает, но если, допустим свойство Content
или VM
или CanContinue
равно null
, то программа падает с ошибкой:
Программа "[8112] Blabla.exe" завершилась с кодом 1073741855 (0x4000001f).
Проблема в том, что даже если мы вставим подобное:
try {
return ((IMenuItemVM) ((IContentVMBase) ChoosedMenu.Content).VM).CanContinue;
}
catch (Exception e) {
MessageBox.Show(e.Message);
}
return false;
То ничего не изменится. Всё равно оно будет падать с кодом 1073741855 (0x4000001f).
Так-же у меня включены все исключения.
В дополнение к совершенно справедливому комментарию tym32167 https://stackoverflow.com/questions/4532457/program-and-debugger-quit-without-indication-of-problem, ИМХО, если вместо Вашей конструкции
return ((IMenuItemVM) ((IContentVMBase) ChoosedMenu.Content).VM).CanContinue;
использовать более старомодную и менее лаконичную конструкцию:
IContentVMBase content = ChoosedMenu.Content as IContentVMBase;
if( content == null ) return false;
IMenuItemVM mnuItem = content.VM as IMenuItemVM;
if( mnuItem == null ) return false;
return mnuItem.CanContinue;
то джентльмены находят, что она способствует сохранению нервных клеток.
UpDate: дополнение к ответу по просьбе автора вопроса и сформулированное автором вопроса SKProCH о способе настроек дебаггера, когда используется смесь из небезопасного кода:
"Что-бы программа перестала падать, а дебаггер начал останавливаться на ошибке нужно включить Проект -> Сборка -> Разрешить небезопасный код. Что бы перестать try-catch необходимо выключить прерывание работы на нужном вам типе Exception "
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нужно написать небольшой функционал по работе с жестким дискомСама суть программы не важна
Parse error: syntax error, unexpected '$content_width' (T_VARIABLE) in /var/www/u0665743/data/www/hqherbru/wp-content/themes/digitalworld/functions