Metoda, którą wywołuję w run() w klasie, która implementuje Runnable) jest przeznaczona do zgłaszania wyjątku.Czy istnieje sposób, aby uruchomić Runnable() throw wyjątek?
Ale kompilator Java nie pozwoli mi tego zrobić i sugeruje, że otaczam go try/catch.
Problem polega na tym, że otaczając go próbą/catch, robię , że konkretnyrun() jest bezużyteczny. I do chcę rzucić wyjątek.
Jeśli podam samą throws
dla samej run(), kompilator narzeka, że Exception is not compatible with throws clause in Runnable.run()
.
Zazwyczaj jestem całkowicie w porządku, nie pozwalając run() rzucić wyjątku. Ale mam wyjątkową sytuację, w której muszę mieć tę funkcjonalność.
Jak obejść to ograniczenie?
oprócz innych odpowiedzi, aby śledzić postęp zadania, można użyj klasy FutureTask. – JProgrammer
Non-android Java pytanie: http://stackoverflow.com/questions/1369204/how-to-throw-a-checked-exception-from-a-java-thread?lq=1 –