001 /*----------------------------------------------------------------------------*/ 002 /* Copyright (c) FIRST 2008-2012. All Rights Reserved. */ 003 /* Open Source Software - may be modified and shared by FRC teams. The code */ 004 /* must be accompanied by the FIRST BSD license file in the root directory of */ 005 /* the project. */ 006 /*----------------------------------------------------------------------------*/ 007 008 package edu.wpi.first.wpilibj.util; 009 010 /** 011 * This exception represents an error in which a lower limit was set as higher 012 * than an upper limit. 013 * @author dtjones 014 */ 015 public class BoundaryException extends RuntimeException{ 016 017 /** 018 * Create a new exception with the given message 019 * @param message the message to attach to the exception 020 */ 021 public BoundaryException(String message) { 022 super(message); 023 } 024 025 /** 026 * Make sure that the given value is between the upper and lower bounds, and 027 * throw an exception if they are not. 028 * @param value The value to check. 029 * @param lower The minimum acceptable value. 030 * @param upper The maximum acceptable value. 031 */ 032 public static void assertWithinBounds(double value, double lower, double upper) { 033 if (value < lower || value > upper) 034 throw new BoundaryException("Value must be between " + lower + 035 " and " + upper + ", " + value + " given"); 036 } 037 }