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     * Exception for bad status codes from the chip object
012     * @author Brian
013     */
014    public final class UncleanStatusException extends IllegalStateException {
015    
016        private final int statusCode;
017    
018        /**
019         * Create a new UncleanStatusException
020         * @param status the status code that caused the exception
021         * @param message A message describing the exception
022         */
023        public UncleanStatusException(int status, String message) {
024            super(message);
025            statusCode = status;
026        }
027    
028        /**
029         * Create a new UncleanStatusException
030         * @param status the status code that caused the exception
031         */
032        public UncleanStatusException(int status) {
033            this(status, "Status code was non-zero");
034        }
035    
036        /**
037         * Create a new UncleanStatusException
038         * @param message a message describing the exception
039         */
040        public UncleanStatusException(String message) {
041            this(-1, message);
042        }
043    
044        /**
045         * Create a new UncleanStatusException
046         */
047        public UncleanStatusException() {
048            this(-1, "Status code was non-zero");
049        }
050    
051        /**
052         * Create a new UncleanStatusException
053         * @return the status code that caused the exception
054         */
055        public int getStatus() {
056            return statusCode;
057        }
058    }