/**
* GmailAssistant 1.1 (2008-03-16)
* Copyright 2008 Zach Scrivena
* zachscrivena@gmail.com
* http://gmailassistant.sourceforge.net/
*
* Notifier for multiple Gmail accounts.
*
* TERMS AND CONDITIONS:
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gmailassistant;
/**
* Represent a runtime exception that terminates the program.
* This exception should be allowed to propagate to the top-level for proper handling.
*/
class TerminatingException
extends RuntimeException
{
/** exit status code to be reported to the OS */
private final int exitCode;
/**
* Constructor.
*
* @param message
* Exception message; saved for later retrieval by the Throwable.getMessage() method
* @param exitCode
* Exit status code; saved for later retrieval by the TerminatingException.getExitCode()
* method
*/
TerminatingException(
final String message,
final int exitCode)
{
super(message);
this.exitCode = exitCode;
}
/**
* Constructor. Exit status code is assumed to be 1.
*
* @param message
* Exception message; saved for later retrieval by the Throwable.getMessage() method
*/
TerminatingException(
final String message)
{
super(message);
this.exitCode = 1;
}
/**
* Return the exit status code to be reported to the OS.
*
* @return
* exit status code
*/
int getExitCode()
{
return this.exitCode;
}
}