001/* 002 * Units of Measurement API 003 * Copyright (c) 2014-2023, Jean-Marie Dautelle, Werner Keil, Otavio Santana. 004 * 005 * All rights reserved. 006 * 007 * Redistribution and use in source and binary forms, with or without modification, 008 * are permitted provided that the following conditions are met: 009 * 010 * 1. Redistributions of source code must retain the above copyright notice, 011 * this list of conditions and the following disclaimer. 012 * 013 * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions 014 * and the following disclaimer in the documentation and/or other materials provided with the distribution. 015 * 016 * 3. Neither the name of JSR-385 nor the names of its contributors may be used to endorse or promote products 017 * derived from this software without specific prior written permission. 018 * 019 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 020 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 021 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 022 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 023 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 024 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 025 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 026 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 027 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 028 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 029 */ 030// 031// This source code implements specifications defined by the Java 032// Community Process. In order to remain compliant with the specification 033// DO NOT add / change / or delete method signatures! 034// 035package javax.measure; 036 037/** 038 * Exception used to indicate a problem while dealing with units of measurement. 039 * <p> 040 * This exception is used to indicate problems with creating, retrieving and manipulating units of measurement objects. 041 * </p> 042 * 043 * <dl> 044 * <dt><span class="strong">Implementation Requirements:</span></dt> 045 * <dd>This class is intended for use in a single thread. Exception thrown when errors occur during Units of Measurement operations.</dd> 046 * </dl> 047 * 048 * @author <a href="mailto:werner@uom.technology">Werner Keil</a> 049 * @version 2.0, Jul 4, 2020 050 * @since 1.0 051 */ 052public class MeasurementException extends RuntimeException { 053 054 /** 055 * For cross-version compatibility. 056 */ 057 private static final long serialVersionUID = 8959937033300443361L; 058 059 /** 060 * Constructs a {@code MeasurementException} with the given message. 061 * 062 * @param message 063 * the detail message, or {@code null} if none. 064 */ 065 public MeasurementException(final String message) { 066 super(message); 067 } 068 069 /** 070 * Constructs a {@code MeasurementException} with the given cause. 071 * 072 * @param cause 073 * the cause of this exception, or {@code null} if none. 074 */ 075 public MeasurementException(final Throwable cause) { 076 super(cause); 077 } 078 079 /** 080 * Constructs a {@code MeasurementException} with the given message and cause. 081 * 082 * @param message 083 * the detail message, or {@code null} if none. 084 * @param cause 085 * the cause of this exception, or {@code null} if none. 086 * 087 */ 088 public MeasurementException(final String message, final Throwable cause) { 089 super(message, cause); 090 } 091 092 /** 093 * Constructs a {@code MeasurementException} with no given message. 094 * 095 */ 096 protected MeasurementException() { 097 super(); 098 } 099}