Я хотел бы иметь хороший, аккуратный способ выразить следующий код Java как JNI:
try {
SomeMethod ();
}
catch (ExceptionType1 e) {
SomeAction ();
}
catch (ExceptionType2 e) {
SomeAction ();
}
catch (ExceptionType3 e) {
SomeAction ();
}
Есть ли для этого аккуратная скороговорка JNI? В настоящее время у меня есть это:
java_class = (*env)->FindClass (env, EXCEPTION_CLASS_NAME);
if (java_class == NULL) {
*error_type_ref = ERROR_TYPE_FATAL;
*exception_code_ref = EU_StrSprintf ("Class not found: %s", EXCEPTION_CLASS_NAME);
cleanup ();
}
if ((*env)->IsInstanceOf (env, exception, java_class)) {
SomeAction ();
cleanup ();
}
И, конечно, это повторяется для каждого обработанного исключения. Там должен быть лучший путь. Любые рекомендации? Я не заинтересован в переносе всего моего существующего кода в JNA, поэтому я хотел бы, чтобы, так сказать, шаблон, который можно было бы реализовать в домашних условиях.