001 package org.bukkit.event; 002 003 public class EventException extends Exception { 004 private static final long serialVersionUID = 3532808232324183999L; 005 private final Throwable cause; 006 007 /** 008 * Constructs a new EventException based on the given Exception 009 * 010 * @param throwable Exception that triggered this Exception 011 */ 012 public EventException(Throwable throwable) { 013 cause = throwable; 014 } 015 016 /** 017 * Constructs a new EventException 018 */ 019 public EventException() { 020 cause = null; 021 } 022 023 /** 024 * Constructs a new EventException with the given message 025 * 026 * @param cause The exception that caused this 027 * @param message The message 028 */ 029 public EventException(Throwable cause, String message) { 030 super(message); 031 this.cause = cause; 032 } 033 034 /** 035 * Constructs a new EventException with the given message 036 * 037 * @param message The message 038 */ 039 public EventException(String message) { 040 super(message); 041 cause = null; 042 } 043 044 /** 045 * If applicable, returns the Exception that triggered this Exception 046 * 047 * @return Inner exception, or null if one does not exist 048 */ 049 @Override 050 public Throwable getCause() { 051 return cause; 052 } 053 }