Exception Classes (POS for .NET v1.14 SDK Documentation)

Microsoft Point of Service for .NET (POS for .NET) error handling is implemented through the use of exceptions. The four POS for .NET exception classes are as follows:

Standard Unified Point Of Service (UnifiedPOS) error codes are represented by the ErrorCode enumeration.

PosException

PosException is the Base exception class for PosControlException, PosManagementException, and PosLibraryException. PosException is derived from System.Exception.

PosControlException

PosControlException is the standard exception thrown by Service Objects to POS for .NET applications.

PosManagementException

PosManagementException is thrown by POS for .NET Device Management. Applications and Service Objects must not throw PosManagementException.

PosLibraryException

PosLibraryException is thrown by PosExplorer. Applications and Service Objects must not throw PosLibraryException.

Error Codes

The following table provides a mapping between the UnifiedPOS standard error codes and the ErrorCode values that POS for .NET provides.

POS ErrorCode Member UnifiedPOS Error Code Error Cause
Busy E_BUSY The current Service Object state does not allow this request.
Claimed E_CLAIMED Another Service Object instance has already claimed the POS device.
Closed E_CLOSED The POS device is closed.
Deprecated E_DEPRECATED The method has been deprecated and is no longer available.
Disabled E_DISABLED The operation cannot be performed while the device is disabled.
Exists E_EXISTS The file name or other specified value already exists.
Extended E_EXTENDED A device-specific error condition occurred.
Failure E_FAILURE The POS device cannot perform the requested procedure, even though the device is connected to the system and active.
Illegal E_ILLEGAL The POS application attempted an illegal or unsupported operation with the device, or used an invalid parameter value.
NoExist E_NOEXIST The file name or other specified value does not exist.
NoHardware E_NOHARDWARE The POS device is not connected to the system or is not turned on.
NoService E_NOSERVICE The Service Object cannot communicate with the device, normally because of a setup or configuration error.
NotClaimed E_NOTCLAIMED The POS application attempted to access an exclusive-use device that must be claimed before the method or property set action can be used.
Offline E_OFFLINE The POS device is offline.
Timeout E_TIMEOUT The Service Object timed out waiting for a response from the POS device.

Example

The following code example demonstrates how MSR handles POS exceptions and uses the ErrorCodes contained in those exceptions to gather information about them.

// Create a new instance of the MSR and opens the device.
msr = (Msr)explorer.CreateInstance(msrinfo);
msr.Open();

// Try to enable the device without first claiming it.
// This will throw a PosControlException which, through
// its ErrorCode, will yield information about the exception.
try
{
   msr.DeviceEnabled = true;
}
catch (PosControlException e)
{

   // Examine the ErrorCode to determine the cause of the error.
   if (e.ErrorCode == ErrorCode.NoHardware)
   {
      Console.WriteLine("The POS device is not connected ");
      Console.WriteLine("to the system or is not turned on.");
   }
   if (e.ErrorCode == ErrorCode.Timeout)
   {
      Console.WriteLine("The Service Object timed out
            waiting for a response from the POS device.");
   }

   // The example has not claimed the MSR, which is an
   // exclusive-access device, before trying to enable
   // it. This will throw the PosControlException
   // and trigger the following conditional block.
   // Once triggered, the MSR will be claimed and enabled.
   if (e.ErrorCode == ErrorCode.NotClaimed)
   {
      Console.WriteLine("The POS application attempted to access ");
      Console.WriteLine("an exclusive-use device that must be ");
      Console.WriteLine("claimed before the method or property ");
      Console.WriteLine("set action can be used.")
      msr.Claim(1000);
      msr.DeviceEnabled = true;
   }
}

See Also

Reference

Concepts

Other Resources