Default exception handler

0

Musialem do mojej apki dodac kolejne sdk. Przejrzałem kod tego sdk i zauwazylem ze podmienia mi default exception handler na swoją implementację za pomocą metody
https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler).

Czy każde jedno SDK lub biblioteka którą wprowadzam do zaleznosci projektu jest zagrożeniem dla mojego sposobu handlowania exceptionów?

Da się to jakoś zablokować, monitorować? Czy po prostu statyczna analiza kodu każdej zależności?

1

Co to znaczy dodałeś kolejne SDK ? To masz więcej niż jedno? Jakie?

Ta metoda dotyczy obsługi wyjątku, który nie był w inny sposób obsłużony - zwykle po to, żeby nie zniknął bez śladu.
Zwykle catch (Throwable t) w wątku - spowoduje, że to się nigdy nie wywoła.

Da się używać (jeszcze) java security, żeby obcy kod nie mógł wywoływać takich metod... ale
jeśli to SDK to z SDK zwykle nie ma sensu walczyć. Szczególnie, że pewnie chodzi o androidowe sdk.

Generalnie nie bardzo rozumiem jak SDK może Ci podmieniać defaultowy exception handler, skoro defaultowy exception handler jest definiowany w SDK...

1

Moment, przeczytaj co napisałeś, i powiedz czy dla kogoś w innej sytuacji jest zrozumiałe..
Android? Desktop? Web, Spring lub nie-spring ?

0

Tak, mam juz teraz więcej niz 1 SDK.

Co to znaczy ze dodałem kolejne SDK?

Do gradle dodałem kolejną dependence i użyłem jej z mojego kodu. Wywolalem jedną metode. Co tu jest niejasne?

0

Jak Ci "SDK" podmienia default handler to potem używasz już metod obsługi związanych z danym SDK.
Dla Spring jest to @ExceptionHandler lub @ControllerAdvice - https://reflectoring.io/spring-boot-exception-handling/

1

Po prostu podaj nazwę tej biblioteki to można będzie więcej powiedzieć.

Da się zablokować takie rzeczy uruchamiając javę z security managerem:
https://docs.oracle.com/javase/tutorial/essential/environment/security.html

Ale to:
a) upierdliwe,
b) będzie i tak chyba wywalone z nowszych wersji

0

Dobra, dzięki. Wiele mi rozjasniliscie.

1

Spotkalem sie z uzyciem tego, aby zalogowac jakis blad, kiedy nie zostanie on obsluzony. Try-catch na zewnatrz wywolania watku nie zadziala, bo akcja dzieje sie w innym… wątku. Szczegolnie istotne, jak chce sie monitorowac pule watkow.

Odnosnie dodawania „kolejnego SDK” - zapewne chodzilo o zaleznosc. SDK, podobnie jak matkę, ma sie jedno.

1 użytkowników online, w tym zalogowanych: 0, gości: 1