kullanarak herhangi istisna yok.Java UncaughtExceptionHandler Ben bir dizi görevi çalıştırmak bir Java kütüphane var JNI'yı
Thread.setDefaultUncaughtExceptionHandler(new JavaUncaughtExceptionHandler());
UncaughtExceptionHandler UncaughtExceptionHandler
uygular ve sadece STDERR
hata günlük bilgileri: Ve kullanılarak varsayılan yakalanmamış istisna işleyicisi kayıtlı.
Java kütüphanem C++ kodundan JNI aracılığıyla çağrılır ve JNI bunu ExceptionCheck()
ile çağırır ve hatayı C++ olarak FATAL olarak günlüğe kaydeder.
sorundur: Çalışma zamanında
, bir RuntimeException
(veya başka yakalanmamış istisna), hata C++ yakalanan var benim Java kodunda olur varken yerine iplik varsayılan yakalanmamış istisna işleyici olarak tescil benim JavaUncaughtExceptionHandler
arasında .
- hariç davranış mı?
- zaman
DefaultUncaughtExceptionHandler
aslında çağırıldım olacak? İş parçacığı kapanmadan önce biliyorum, ama özellikle JNI durumunda. C++ veya daha sonra C++ kodu bittikten sonra da denir). Ben JNI içinde iplik yönetimine, hem de ilgili herhangi bir bilgi paylaşımında lütfen ilgili olduğunu düşünüyorum. - ben çok benim Java kodunda tüm özel durumları (a
try
/catch
blok koymak dışında başka alternatif bir yol)
Teşekkür yakalayabilirsiniz yine de var mı.
James, sizin açıklama için çok oldukça yararlı teşekkürler. Biz jenv.CheckException (...) yöntemi kullanılarak Java yöntemi çağırmak yoktur ve istisna C++ yakalanır. Bu yüzden kodun çalışmasının güvenli olduğunu düşünüyorum, ancak sadece C yerine Java'daki tüm istisnaları günlüğe kaydetmek istiyoruz. Ancak, UncaughtExceptionHandler tarafından gerçekleştirilemez. – user788767