### Question:
Tracer { @SafeVarargs public static void setExceptionsToTrace(Class<? extends Throwable>... traceClasses) { checkNotNull(traceClasses); Tracer.traceClasses = traceClasses; } protected  Tracer(); static void trace(Throwable e); @Deprecated static void trace(Throwable e, int count); static void traceContext(Throwable e, Context context); @Deprecated static void traceContext(Throwable e, int count, Context context); static void traceEntry(Throwable e, Entry entry); @SafeVarargs static void setExceptionsToTrace(Class<? extends Throwable>... traceClasses); static Class<? extends Throwable>[] getExceptionsToTrace(); @SafeVarargs static void setExceptionsToIgnore(Class<? extends Throwable>... ignoreClasses); static Class<? extends Throwable>[] getExceptionsToIgnore(); static Predicate<? extends Throwable> getExceptionPredicate(); static void setExceptionPredicate(Predicate<Throwable> exceptionPredicate);  }### Answer:
@Test public void setExceptionsToTrace() { Tracer.ignoreClasses = null; Tracer.traceClasses = null; Tracer.setExceptionsToTrace(TraceException.class, TraceException2.class); Assert.assertTrue(Tracer.shouldTrace(new TraceException2())); Assert.assertTrue(Tracer.shouldTrace(new TraceExceptionSub())); Assert.assertFalse(Tracer.shouldTrace(new Exception())); }
@Test(expected = IllegalArgumentException.class) public void testNull() { Tracer.setExceptionsToTrace(null); }
@Test(expected = IllegalArgumentException.class) public void testNull1() { Tracer.setExceptionsToTrace(TraceException.class, null); }