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 public class WebcamExceptionHandler implements UncaughtExceptionHandler { 010 011 private static final Logger LOG = LoggerFactory.getLogger(WebcamExceptionHandler.class); 012 013 private static final WebcamExceptionHandler INSTANCE = new WebcamExceptionHandler(); 014 015 private WebcamExceptionHandler() { 016 // singleton 017 } 018 019 @Override 020 public void uncaughtException(Thread t, Throwable e) { 021 LOG.error(String.format("Exception in thread %s", t.getName()), e); 022 System.err.println(String.format("Exception in thread %s", t.getName())); 023 e.printStackTrace(); 024 } 025 026 protected static final WebcamExceptionHandler getInstance() { 027 return INSTANCE; 028 } 029 }