001 // License: GPL. Copyright 2007 by Immanuel Scholz and others
002 package org.openstreetmap.josm.plugins;
003
004 import static org.openstreetmap.josm.tools.I18n.tr;
005
006 /**
007 * Exception that wraps any exception thrown by plugins. It is used in the JOSM main system
008 * and there is no particular reason to use this within the plugin itself (although there
009 * is also no reason against this.. ;)
010 *
011 * @author Immanuel.Scholz
012 */
013 public class PluginException extends Exception {
014 public final PluginProxy plugin;
015 public final String name;
016
017 public PluginException(PluginProxy plugin, String name, Throwable cause) {
018 super(tr("An error occurred in plugin {0}", name), cause);
019 this.plugin = plugin;
020 this.name = name;
021 }
022
023 public PluginException(String name, String message) {
024 super(message);
025 this.plugin = null;
026 this.name = name;
027 }
028
029 public PluginException(String name, Throwable cause) {
030 super(tr("An error occurred in plugin {0}", name), cause);
031 this.plugin = null;
032 this.name = name;
033 }
034 }