1. /* $Id: PluginConfigurationException.java,v 1.11 2004/05/10 06:44:13 skitching Exp $
  2. *
  3. * Copyright 2003-2004 The Apache Software Foundation.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. package org.apache.commons.digester.plugins;
  18. /**
  19. * Thrown when an error occurs due to the way the calling application uses
  20. * the plugins module. Because the pre-existing Digester API doesn't provide
  21. * any option for throwing checked exceptions at some points where Plugins
  22. * can potentially fail, this exception extends RuntimeException so that it
  23. * can "tunnel" through these points.
  24. *
  25. * @since 1.6
  26. */
  27. public class PluginConfigurationException extends RuntimeException {
  28. private Throwable cause = null;
  29. /**
  30. * @param cause underlying exception that caused this to be thrown
  31. */
  32. public PluginConfigurationException(Throwable cause) {
  33. this(cause.getMessage());
  34. this.cause = cause;
  35. }
  36. /**
  37. * @param msg describes the reason this exception is being thrown.
  38. */
  39. public PluginConfigurationException(String msg) {
  40. super(msg);
  41. }
  42. /**
  43. * @param msg describes the reason this exception is being thrown.
  44. * @param cause underlying exception that caused this to be thrown
  45. */
  46. public PluginConfigurationException(String msg, Throwable cause) {
  47. this(msg);
  48. this.cause = cause;
  49. }
  50. }