com.phidgets
Class PhidgetException

java.lang.Object
  extended byjava.lang.Throwable
      extended byjava.lang.Exception
          extended bycom.phidgets.PhidgetException
All Implemented Interfaces:
java.io.Serializable

public class PhidgetException
extends java.lang.Exception

This class represents Phidget related exceptions. All Phidget exceptions originate in the phidget21 C library. These exceptions can be thrown by most function in the library and cover such things as trying to access a Phidget before opening it, or before it is attached and ready to use, out of bounds Index and data values, trying to read data that isn't available, and other less common problems. EPHIDGET_(error) errors are thrown by any API calls, EEPHIDGET_(error) errors are returned via the Error event.

See Also:
Serialized Form

Field Summary
static int EEPHIDGET_BADPASSWORD
          Authorization exception.
static int EEPHIDGET_BADPOWER
          Bad power exception.
static int EEPHIDGET_BADVERSION
          Version mismatch exception.
static int EEPHIDGET_NETWORK
          Network exception.
static int EEPHIDGET_OUTOFRANGE
          Out of range exception.
static int EEPHIDGET_OVERCURRENT
          Overcurrent exception.
static int EEPHIDGET_OVERRUN
          Overrun exception.
static int EEPHIDGET_OVERTEMP
          Overtemperature exception.
static int EEPHIDGET_PACKETLOST
          Packet lost exception.
static int EEPHIDGET_WRAP
          Wraparound exception.
static int EPHIDGET_BADPASSWORD
          Authorization exception.
static int EPHIDGET_BADVERSION
          Version mismatch exception.
static int EPHIDGET_CLOSED
          Phidget closed exception.
static int EPHIDGET_DUPLICATE
          Duplicate request exception.
static int EPHIDGET_EVENT
          Event exception.
static int EPHIDGET_INTERRUPTED
          Interrupted exception.
static int EPHIDGET_INVALID
          Invalid error exception.
static int EPHIDGET_INVALIDARG
          Invalid argument exception.
static int EPHIDGET_NETWORK
          Network exception.
static int EPHIDGET_NETWORK_NOTCONNECTED
          Network not connected exception.
static int EPHIDGET_NOMEMORY
          No memory exception.
static int EPHIDGET_NOTATTACHED
          Phidget not attached exception.
static int EPHIDGET_NOTFOUND
          Phidget not found exception.
static int EPHIDGET_OUTOFBOUNDS
          Out of bounds exception.
static int EPHIDGET_TIMEOUT
          Timeout exception.
static int EPHIDGET_UNEXPECTED
          Unexpected exception.
static int EPHIDGET_UNKNOWNVAL
          Value unknown exception.
static int EPHIDGET_UNSUPPORTED
          Unsupported exception.
static int EPHIDGET_WRONGDEVICE
          Wrong device exception.
 
Constructor Summary
PhidgetException(int errno, java.lang.String description)
          Constructor which takes in an error number and description.
 
Method Summary
 java.lang.String getDescription()
          Returns a description of this exception.
 int getErrorNumber()
          Returns the error number of this exception.
 java.lang.String toString()
          Returns a string containing the error number and exception description.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EPHIDGET_NOTFOUND

public static final int EPHIDGET_NOTFOUND
Phidget not found exception. "A Phidget matching the type and or serial number could not be found."

This exception is not currently used externally.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_NOMEMORY

public static final int EPHIDGET_NOMEMORY
No memory exception. "Memory could not be allocated."

This exception is thrown when a memory allocation (malloc) call fails in the c library.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_UNEXPECTED

public static final int EPHIDGET_UNEXPECTED
Unexpected exception. "Unexpected Error. Contact Phidgets Inc. for support."

This exception is thrown when something unexpected happens (more enexpected then another exception). This generally points to a bug or bad code in the C library, and hopefully won't even be seen.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_INVALIDARG

public static final int EPHIDGET_INVALIDARG
Invalid argument exception. "Invalid argument passed to function."

This exception is thrown whenever a function receives an unexpected null pointer, or a value that is out of range. ie setting a motor's speed to 101 when the maximum is 100.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_NOTATTACHED

public static final int EPHIDGET_NOTATTACHED
Phidget not attached exception. "Phidget not physically attached."

This exception is thrown when a method is called on a device that is not attached, and the method requires the device to be attached. ie trying to read the serial number, or the state of an ouput.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_INTERRUPTED

public static final int EPHIDGET_INTERRUPTED
Interrupted exception. "Read/Write operation was interrupted."

This exception is not currently used externally.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_INVALID

public static final int EPHIDGET_INVALID
Invalid error exception. "The Error Code is not defined."

This exception is thrown when trying to get the string description of an undefined error code. This should not be seen in Java.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_NETWORK

public static final int EPHIDGET_NETWORK
Network exception. "Network Error."

This exception is thrown when a network related error occurs. The EEPHIDGET_NETWORK code is more often used (in error events) because most network exceptions come through asynchronously.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_UNKNOWNVAL

public static final int EPHIDGET_UNKNOWNVAL
Value unknown exception. "Value is Unknown (State not yet received from device, or not yet set by user)."

This exception is thrown when a device that is set to unknow is read. ie trying to read the position of a servo before setting it's position.

Every effort is made in the library to fill in as much of a device's state before the attach event gets thrown, however, many there are some states that cannot be filled in automatically. ie older interface kits do not return their output states, and so these will be unknown until they are set.

This is a quite common exception for some devices, and so should always be caught

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_BADPASSWORD

public static final int EPHIDGET_BADPASSWORD
Authorization exception. "Authorization Failed."

This exception has been replaced by EEPHIDGET_BADPASSWORD.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_UNSUPPORTED

public static final int EPHIDGET_UNSUPPORTED
Unsupported exception. "Not Supported."

This exception is thrown when a method is called that is not supported, either by that device, or by the system. ie calling setRatiometric on an interfaceKit that does not have sensors.

This is also used for methods that are not yet complete, ie setLabel on Windows.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_DUPLICATE

public static final int EPHIDGET_DUPLICATE
Duplicate request exception. "Duplicated request."

This exception is thrown when open is called twice on a device, without calling close in between. The second call to open is ignored.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_TIMEOUT

public static final int EPHIDGET_TIMEOUT
Timeout exception. "Given timeout has been exceeded."

This exception is thrown by waitForAttachment(int) if the provided timeout expires before an attach happens. This may also be thrown by a device set request, if the set times out - though this should not happen, and would generally mean a problem with the device.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_OUTOFBOUNDS

public static final int EPHIDGET_OUTOFBOUNDS
Out of bounds exception. "Index out of Bounds."

This exception is thrown anytime an indexed set or get method is called with an out of bounds index.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_EVENT

public static final int EPHIDGET_EVENT
Event exception. "A non-null error code was returned from an event handler."

This exception is not currently used.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_NETWORK_NOTCONNECTED

public static final int EPHIDGET_NETWORK_NOTCONNECTED
Network not connected exception. "A connection to the server does not exist."

This exception is thrown when a network specific method is called on a device that was opened remotely, but there is no connection to a server. ie getServerID.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_WRONGDEVICE

public static final int EPHIDGET_WRONGDEVICE
Wrong device exception. "Function is not applicable for this device."

This exception is thrown when a method from device is called by another device. ie casting an InterfaceKit to a Servo and calling setPosition.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_CLOSED

public static final int EPHIDGET_CLOSED
Phidget closed exception. "Phidget handle was closed."

This exception is thrown when waitForAttachment is called on a Phidget that has not been opened, or was closed.

This is returned by getErrorNumber

See Also:
Constant Field Values

EPHIDGET_BADVERSION

public static final int EPHIDGET_BADVERSION
Version mismatch exception. "Webservice and Client protocol versions don't match. Update to newest release."

This exception has been replaced by EEPHIDGET_BADVERSION.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_NETWORK

public static final int EEPHIDGET_NETWORK
Network exception. "Network Error."

This exception is sent via the Error event. It will be accompanied by a specific Description of the network problem.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_BADPASSWORD

public static final int EEPHIDGET_BADPASSWORD
Authorization exception. "Authorization Failed."

This exception is sent via the Error event. It means that a connection could not be authenticated because of a passwrod missmatch.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_BADVERSION

public static final int EEPHIDGET_BADVERSION
Version mismatch exception. "Webservice and Client protocol versions don't match. Update to newest release."

This exception is sent via the Error event when trying to connect to a remote phidget and the webservice version does not match your client library version.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_OVERRUN

public static final int EEPHIDGET_OVERRUN
Overrun exception. "A sampling overrun happend in firmware."

This exception sent via in the Error event. It is accompanied by a specific description.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_PACKETLOST

public static final int EEPHIDGET_PACKETLOST
Packet lost exception. "One or more packets were lost."

This exception sent via in the Error event. It is accompanied by a specific description.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_WRAP

public static final int EEPHIDGET_WRAP
Wraparound exception. "A variable has wrapped around."

This exception sent via in the Error event. It is accompanied by a specific description.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_OVERTEMP

public static final int EEPHIDGET_OVERTEMP
Overtemperature exception. "Overtemperature condition detected."

This exception sent via in the Error event. It is accompanied by a specific description.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_OVERCURRENT

public static final int EEPHIDGET_OVERCURRENT
Overcurrent exception. "Overcurrent condition detected."

This exception sent via in the Error event. It is accompanied by a specific description.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_OUTOFRANGE

public static final int EEPHIDGET_OUTOFRANGE
Out of range exception. "Out of range condition detected."

This exception sent via in the Error event. It is accompanied by a specific description.

This is returned by getErrorNumber

See Also:
Constant Field Values

EEPHIDGET_BADPOWER

public static final int EEPHIDGET_BADPOWER
Bad power exception. "Power supply problem detected."

This exception sent via in the Error event. It is accompanied by a specific description.

This is returned by getErrorNumber

See Also:
Constant Field Values
Constructor Detail

PhidgetException

public PhidgetException(int errno,
                        java.lang.String description)
Constructor which takes in an error number and description. These exceptions originate from and are filled in by the phidget 21 C library.

Method Detail

getErrorNumber

public int getErrorNumber()
Returns the error number of this exception. This error number will match one of the EPHIDGET_(error) or EEPHIDGET_(error) constants defined in this class. These numbers are defined in the phidget21 c library and are consistent across all APIs.

There are 19 error codes defined, as follows:
EPHIDGET_NOTFOUND, EPHIDGET_NOMEMORY, EPHIDGET_UNEXPECTED, EPHIDGET_INVALIDARG, EPHIDGET_NOTATTACHED, EPHIDGET_INTERRUPTED, EPHIDGET_INVALID, EPHIDGET_NETWORK, EPHIDGET_UNKNOWNVAL, EPHIDGET_BADPASSWORD, EPHIDGET_UNSUPPORTED, EPHIDGET_DUPLICATE, EPHIDGET_TIMEOUT, EPHIDGET_OUTOFBOUNDS, EPHIDGET_EVENT, EPHIDGET_NETWORK_NOTCONNECTED, EPHIDGET_WRONGDEVICE, EPHIDGET_CLOSED and EPHIDGET_BADVERSION

There are also 9 error event codes defined, as follows:
EEPHIDGET_NETWORK, EEPHIDGET_BADPASSWORD, EEPHIDGET_BADVERSION, EEPHIDGET_OVERRUN, EEPHIDGET_PACKETLOST, EEPHIDGET_WRAP, EEPHIDGET_OVERTEMP, EEPHIDGET_OVERCURRENT, EEPHIDGET_OUTOFRANGE

Returns:
The error code

getDescription

public java.lang.String getDescription()
Returns a description of this exception. This is an english phrase that describes the exception that occured. These strings originate in the base phidget21 C library, and should help to diagnose problems.

Returns:
The error description

toString

public java.lang.String toString()
Returns a string containing the error number and exception description.

Returns:
A string describing the error