Eclipseplugins
ExceptionUtils.java
1 package com.proalpha.pds.paconnector.utils;
2 
3 import org.eclipse.core.runtime.IStatus;
4 import org.eclipse.core.runtime.Status;
5 import org.eclipse.jface.dialogs.MessageDialog;
6 import org.eclipse.swt.widgets.Display;
7 import org.eclipse.swt.widgets.Shell;
8 import org.eclipse.ui.plugin.AbstractUIPlugin;
9 
18 public class ExceptionUtils {
19 
20  public static void showMessage(Throwable exception) {
21 
22  final Shell activeShell = Display.getDefault().getActiveShell();
23  final String title = "Error occurred";
24  final String message = getMessage(exception);
25 
26  Display.getDefault().syncExec(new Runnable() {
27 
28  @Override
29  public void run() {
30  MessageDialog.openError(activeShell, title, message);
31 
32  }
33  });
34  }
35 
42  public static void logErrorMessage(AbstractUIPlugin plugin,
43  Throwable exception) {
44  IStatus status = createStatus(IStatus.ERROR, plugin, exception);
45 
46  plugin.getLog().log(status);
47  }
48 
55  public static void logWarnigMessage(AbstractUIPlugin plugin,
56  Throwable exception) {
57  IStatus status = createStatus(IStatus.WARNING, plugin, exception);
58  plugin.getLog().log(status);
59 
60  }
61 
62  private static IStatus createStatus(int severity, AbstractUIPlugin plugin,
63  Throwable exception) {
64  final String pluginID = plugin.getBundle().getSymbolicName();
65  final String message = getMessage(exception);
66 
67  return new Status(severity, pluginID, message, exception);
68  }
69 
77  public static void showAndLogErrorMessage(AbstractUIPlugin plugin,
78  Throwable exception) {
79  logErrorMessage(plugin, exception);
80  showMessage(exception);
81  };
82 
89  private static String getMessage(Throwable exception) {
90  return (exception.getMessage() != null) ? exception.getMessage()
91  : exception.getClass().getName();
92  }
93 }
static void logWarnigMessage(AbstractUIPlugin plugin, Throwable exception)
static void logErrorMessage(AbstractUIPlugin plugin, Throwable exception)
static void showAndLogErrorMessage(AbstractUIPlugin plugin, Throwable exception)