001 package com.github.sarxos.webcam;
002
003 import java.lang.Thread.UncaughtExceptionHandler;
004
005 import org.slf4j.Logger;
006 import org.slf4j.LoggerFactory;
007
008
009 /**
010 * Used internally.
011 *
012 * @author Bartosz Firyn (sarxos)
013 */
014 public class WebcamExceptionHandler implements UncaughtExceptionHandler {
015
016 private static final Logger LOG = LoggerFactory.getLogger(WebcamExceptionHandler.class);
017
018 private static final WebcamExceptionHandler INSTANCE = new WebcamExceptionHandler();
019
020 private WebcamExceptionHandler() {
021 // singleton
022 }
023
024 @Override
025 public void uncaughtException(Thread t, Throwable e) {
026 LOG.error(String.format("Exception in thread %s", t.getName()), e);
027 System.err.println(String.format("Exception in thread %s", t.getName()));
028 e.printStackTrace();
029 }
030
031 public static final WebcamExceptionHandler getInstance() {
032 return INSTANCE;
033 }
034 }