()
| 391 | |
| 392 | drawExceptionHandler = new Thread(new Runnable() { |
| 393 | public void run() { |
| 394 | synchronized (drawExceptionMutex) { |
| 395 | try { |
| 396 | while (drawException == null) { |
| 397 | drawExceptionMutex.wait(); |
| 398 | } |
| 399 | // System.err.println("Caught exception: " + drawException.getMessage()); |
| 400 | if (drawException != null) { |
| 401 | Throwable cause = drawException.getCause(); |
| 402 | if (cause instanceof ThreadDeath) { |
| 403 | // System.out.println("caught ThreadDeath"); |
| 404 | // throw (ThreadDeath)cause; |
| 405 | } else if (cause instanceof RuntimeException) { |
| 406 | throw (RuntimeException) cause; |
| 407 | } else if (cause instanceof UnsatisfiedLinkError) { |
| 408 | throw new UnsatisfiedLinkError(cause.getMessage()); |
| 409 | } else if (cause == null) { |
| 410 | throw new RuntimeException(drawException.getMessage()); |
| 411 | } else { |
| 412 | throw new RuntimeException(cause); |
| 413 | } |
| 414 | } |
| 415 | } catch (InterruptedException e) { |
| 416 | return; |
| 417 | } |
| 418 | } |
| 419 | } |
| 420 | }); |
| 421 | drawExceptionHandler.start(); |
| 422 | } |
nothing calls this directly
no test coverage detected