/*******************************************************************************
* Copyright (c) 2015 Jeff Martin.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser General Public
* License v3.0 which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl.html
*
* Contributors:
* Jeff Martin - initial API and implementation
******************************************************************************/
package cuchaz.enigma;
public class ExceptionIgnorer
{
public static boolean shouldIgnore(Throwable t)
{
// is this that pesky concurrent access bug in the highlight painter
// system?
// (ancient ui code is ancient)
if(t instanceof ArrayIndexOutOfBoundsException)
{
StackTraceElement[] stackTrace = t.getStackTrace();
if(stackTrace.length > 1)
{
// does this stack frame match
// javax.swing.text.DefaultHighlighter.paint*() ?
StackTraceElement frame = stackTrace[1];
if(frame.getClassName().equals(
"javax.swing.text.DefaultHighlighter")
&& frame.getMethodName().startsWith("paint"))
return true;
}
}
return false;
}
}