001/*
002 *  Copyright 2010 Media Service Provider Ltd
003 *
004 *  Licensed under the Apache License, Version 2.0 (the "License");
005 *  you may not use this file except in compliance with the License.
006 *  You may obtain a copy of the License at
007 *
008 *      http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *  Unless required by applicable law or agreed to in writing, software
011 *  distributed under the License is distributed on an "AS IS" BASIS,
012 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *  See the License for the specific language governing permissions and
014 *  limitations under the License./*
015 *
016 */
017package org.apache.commons.daemon;
018
019/**
020 * Throw this during init if you can't initialise yourself for some expected 
021 * reason.  Using this exception will cause the exception's message to come out
022 * on stdout, rather than a dirty great stacktrace.
023 * @author Nick Griffiths (nicobrevin@gmail.com)
024 * @version $Id: DaemonInitException.java 1204007 2011-11-19 16:10:29Z ggregory $
025 */
026public class DaemonInitException extends Exception {
027
028  //don't rely on Throwable#getCause (jdk1.4)
029  private final Throwable cause;
030
031  public DaemonInitException(String message) {
032    super(message);
033    this.cause = null;
034  }
035
036  public DaemonInitException(String message, Throwable cause) {
037    super(message);
038    this.cause = cause;
039  }
040
041  public String getMessageWithCause() {
042    String extra = this.cause == null ? "" : ": " + this.cause.getMessage();
043    return getMessage() + extra;
044  }
045
046}