1 /* 2 * Copyright (C) 2010, Christian Halstrick <christian.halstrick@sap.com> and 3 * other copyright owners as documented in the project's IP log. 4 * 5 * This program and the accompanying materials are made available under the 6 * terms of the Eclipse Distribution License v1.0 which accompanies this 7 * distribution, is reproduced below, and is available at 8 * http://www.eclipse.org/org/documents/edl-v10.php 9 * 10 * All rights reserved. 11 * 12 * Redistribution and use in source and binary forms, with or without 13 * modification, are permitted provided that the following conditions are met: 14 * 15 * - Redistributions of source code must retain the above copyright notice, this 16 * list of conditions and the following disclaimer. 17 * 18 * - Redistributions in binary form must reproduce the above copyright notice, 19 * this list of conditions and the following disclaimer in the documentation 20 * and/or other materials provided with the distribution. 21 * 22 * - Neither the name of the Eclipse Foundation, Inc. nor the names of its 23 * contributors may be used to endorse or promote products derived from this 24 * software without specific prior written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 27 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 30 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 * POSSIBILITY OF SUCH DAMAGE. 37 */ 38 package org.eclipse.jgit.api.errors; 39 40 /** 41 * Exception thrown when during command execution a low-level exception from the 42 * JGit library is thrown. Also when certain low-level error situations are 43 * reported by JGit through return codes this Exception will be thrown. 44 * <p> 45 * During command execution a lot of exceptions may be thrown. Some of them 46 * represent error situations which can be handled specifically by the caller of 47 * the command. But a lot of exceptions are so low-level that it is unlikely 48 * that the caller of the command can handle them effectively. The huge number 49 * of these low-level exceptions which are thrown by the commands lead to a 50 * complicated and wide interface of the commands. Callers of the API have to 51 * deal with a lot of exceptions they don't understand. 52 * <p> 53 * To overcome this situation this class was introduced. Commands will wrap all 54 * exceptions they declare as low-level in their context into an instance of 55 * this class. Callers of the commands have to deal with one type of low-level 56 * exceptions. Callers will always get access to the original exception (if 57 * available) by calling {@code #getCause()}. 58 */ 59 public class JGitInternalException extends RuntimeException { 60 private static final long serialVersionUID = 1L; 61 62 /** 63 * Construct an exception for low-level internal exceptions 64 * 65 * @param message 66 * error message 67 * @param cause 68 * a {@link java.lang.Throwable} 69 */ 70 public JGitInternalException(String message, Throwable cause) { 71 super(message, cause); 72 } 73 74 /** 75 * Construct an exception for low-level internal exceptions 76 * 77 * @param message 78 * error message 79 */ 80 public JGitInternalException(String message) { 81 super(message); 82 } 83 }