// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataprofiler.core.exception; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.Priority; import org.eclipse.swt.widgets.Shell; import org.talend.commons.exception.BusinessException; /** * Implementation of exception handling strategy.<br/> * * $Id: ExceptionHandler.java 3351 2007-05-04 12:14:00 +0000 (星期五, 04 五月 2007) plegall $ * */ public final class ExceptionHandler { private static Logger log = Logger.getLogger(ExceptionHandler.class); /** * Empty constructor. */ private ExceptionHandler() { } /** * Log message relative to ex param. Log level depends on exception type. * * @param ex - exception to log */ public static void process(Throwable ex) { // Priority priority = getPriority(ex); process(ex, Level.ERROR); } public static void process(Throwable ex, Priority priority) { String message = ex.getMessage(); log.log(priority, message, ex); if (priority == Level.FATAL) { MessageBoxExceptionHandler.showMessage(ex, new Shell()); } } public static void process(BusinessException ex, Priority priority) { String message = ex.getMessage(); log.log(priority, message, ex); if (priority == Level.FATAL) { MessageBoxExceptionHandler.showMessage(ex, new Shell(), priority, ex.getAdditonalMessage()); } } }