Реализация глобального обработчика исключений в XNA для WP7 с использованием XNA - PullRequest
0 голосов
/ 28 января 2011

У меня есть игра WP7 с симптомами, похожими на следующие:

Приложение WP7 завершает работу при развертывании

Работает нормально при запуске через отладчик на устройстве, но при развертывании не запускается. Кроме того, когда я отсоединяю подключение для передачи данных во время отладки, оно работает еще 30 секунд или около того, а затем завершается!

Итак, я пытаюсь каким-то образом поймать таинственное исключение, которое, я полагаю, должно быть выброшено в какой-то момент.

Вопрос 1 - Где я могу поставить блок try catch, чтобы я мог перехватить ошибку? В настоящее время у меня есть один класс, производный от Game, который автоматически выполняется платформой.

Вопрос 2 - Какой самый простой способ получить сообщение об ошибке исключения? Я использую XNA, поэтому я предполагаю, что диалоговое окно исключено.

Спасибо! свинья

Ответы [ 2 ]

1 голос
/ 31 января 2011

Вы должны быть в состоянии использовать аналогичную технику, которую мы используем на Xbox 360 для игр Xbox LIVE Indie.Ник Грейвли поделился оригинальным образцом здесь

http://blog.nickgravelyn.com/2009/07/a-more-robust-exception-system/

, а затем я улучшил его, чтобы сделать немного больше здесь.

http://www.xnadevelopment.com/tutorials/tellmewhatswrong/tellmewhatswrong.shtml

Та же техника должна работать на телефоне.

1 голос
/ 28 января 2011

Q 1.
Похоже, нет способа добавить глобальный обработчик исключений в приложение WP7 XNA.
Где добавить соответствующую обработку ошибок будет зависеть от вашего кода. Поскольку вы не показали никакого кода или даже описали, что делает приложение / игра, трудно сказать. Если вы используете подключение для передачи данных, я бы посмотрел код, который вы используете для совершения сетевых / веб-вызовов. Я полагаю, что вы не обрабатываете разрыв соединения, и в настоящее время у вас есть 30-секундный тайм-аут на запрос. Отсюда сбой приложения через 30 секунд после отключения от сети.

Q 2.
Вы можете показать MessageBox из XNA. Смотри http://msdn.microsoft.com/en-us/library/ff827868.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...