Utility class to work with throwables : Exceptions « Language Basics « Java






Utility class to work with throwables

         
/*
 * Copyright 2006-2007 The Scriptella Project Team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.sql.SQLException;

/**
 * Utility class to work with throwables.
 *
 * @author Fyodor Kupolov
 * @version 1.0
 */
public final class ExceptionUtils {
    private ExceptionUtils() {
    }

    /**
     * This method checks if throwable has {@link Throwable#getCause() cause}.
     * If cause==null, this method tries to obtain cause based on throwable type,
     * e.g. {@link java.sql.SQLException#getNextException()}
     *
     * @param throwable throwable to find cause.
     * @return cause of throwable.
     */
    public static Throwable getCause(Throwable throwable) {
        if (throwable.getCause() != null) {
            return throwable.getCause();
        }
        if (throwable instanceof SQLException) {
            return ((SQLException) throwable).getNextException();
        }
        return null;
    }

    /**
     * This method throws unchecked throwable, i.e. {@link Error} or {@link RuntimeException}.
     *
     * @param unchecked unchecked throwable.
     */
    public static void throwUnchecked(Throwable unchecked) {
        if (unchecked instanceof Error) {
            throw (Error) unchecked;
        }
        if (unchecked instanceof RuntimeException) {
            throw (RuntimeException) unchecked;
        }
        throw new IllegalStateException("Unchecked throwable expected but was " + unchecked.getClass(), unchecked);
    }

    /**
     * Utility method to ignore non important exceptions.
     * @param throwable throwable to ignore.
     */
    public static void ignoreThrowable(Throwable throwable) {
    }

}

   
    
    
    
    
    
    
    
    
  








Related examples in the same category

1.Illustrate various Exceptions Illustrate various Exceptions
2.Experience exceptionsExperience exceptions
3.StackTrace
4.Getting the Stack Trace of an Exception
5.What happens if a method declares an unchecked exception?
6.Simple demo of exceptionsSimple demo of exceptions
7.Simple demo of exceptions, with finally clauseSimple demo of exceptions, with finally clause
8.ThreadBasedCatcher - Demonstrate catching uncaught exceptions
9.Exception CatcherException Catcher
10.Turning off Checked exceptions
11.Demonstrates exception chainingDemonstrates exception chaining
12.Finally is always executedFinally is always executed
13.Demonstrating the Exception MethodsDemonstrating the Exception Methods
14.Further embellishment of exception classesFurther embellishment of exception classes
15.The finally clause is always executedThe finally clause is always executed
16.Your own Exception classYour own Exception class
17.Catching exception hierarchiesCatching exception hierarchies
18.How an exception can be lost
19.Exception in main method
20.Ignoring RuntimeExceptionsIgnoring RuntimeExceptions
21.Demonstrating fillInStackTrace()Demonstrating fillInStackTrace()
22.Put printStackTrace() into a String: redirect the StackTrace to a String with a StringWriter/PrintWriter
23.Rethrow a different object from the one that was caughtRethrow a different object from the one that was caught
24.Inheriting your own exceptionsInheriting your own exceptions
25.Overridden methods may throw only the exceptions
26.Returns the output of printStackTrace as a String.
27.Locates a particular type of exception
28.Throw Exception OutThrow Exception Out
29.Get Deepest ThrowableGet Deepest Throwable
30.Make a string representation of the exception
31.Utility methods for dealing with stack traces
32.Returns the root cause of an exception
33.Print all of the thread's information and stack traces
34.Convert an exception to a String with full stack trace
35.Return stack trace from the passed exception as a stringReturn stack trace from the passed exception as a string
36.Create a new RuntimeException, setting the cause if possible.
37.Create a new Exception, setting the cause if possible.
38.Set the cause of the Exception. Will detect if this is not allowed.
39.Get the stack trace of the supplied exception.
40.Display Stack Trace Information with StackTraceElement
41.A collection of utility methods for manipulating exceptions
42.A frame with a panel for testing various exceptionsA frame with a panel for testing various exceptions
43.Convert Throwable to string
44.Convert the result of Exception.getStackTrace to a String
45.Prints the stack trace of the specified throwable to a string and returns it.
46.Get Stack Trace Element
47.Get stack trace and cause exception
48.Exception Helper
49.Exception Util