Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Бросание исключения по JNI из C++ потока.  (Прочитано 10415 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dark_rain
Помогающий

ua
Offline Offline
Пол: Мужской

« : 01-08-2012 15:18 » 

Приветствую!
Как бы не выглядел заголовок темы печально - тем не менее ситуация имеет место быть.
Итак есть Android приложение, в котором много всего делает C++ по JNI. Есть C++ поток, в котором может возникнуть исключение std::exception, как мне дать Jav'e знать о этом? Как лучше обработать такие ситуации?

Я представляю себе это так: в Java-части сделать какой нибудь класс ExceptionHandler, с методом, например, DisplayExceptionInfo(String excInfo), он будет писать в лог, и вызывать его в catch моего потока, передавая инфо о эксепшене.

Подскажите, в правильном ли я направлении думаю, и есть ли альтернативы?
Спасибо!
Записан
Phodopus
Интересующийся

ru
Offline Offline

« Ответ #1 : 03-08-2012 14:52 » 

В правильном.
Перехватываете и уничтожаете С++ исключение. Создаете в JNI объект класса производного от (к примеру) java.lang.exception и уведомляете JVM что произошло исключение такое-то.
Записан
dark_rain
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #2 : 03-08-2012 15:52 » 

Спасибо, я понял вас, нов таком случае где сработает catch в Java коде? Ведь это новый поток, и насколько я понял из практики, потоки С++ не регистрируются в JVM, или это не так?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines