VISA C implementation, that property SHALL match the value of the status exception’s StatusCode code returned by VISA C. A VISA.NET I/O implementation SHALL NOT throw or any Ivi.Visa.NativeVisaException exception that derives from unless the VISA.NET implementation is Ivi.Visa.NativeVisaException based on an underlying VISA C implementation. Except as noted in RULE 6.1.1, if a VISA.NET I/O implementation is layered over a VISA C session’s implementation, any operation may throw an with a vendor specific Ivi.Visa.NativeVisaException status code that is not listed in the VISA C specifications. VISA.NET implementations may define vendor specific VISA.NET exceptions. Vendor defined VISA.NET exceptions SHALL derive from directly or indirectly, as VisaException appropriate. Vendors should not create a vendor specific VISA.NET exception if there is an applicable .NET framework exception. For example vendors should not define vendor specific VISA.NET exceptions to replace or System.ArgumentNullException System.ArgumentOutOfRangeException. Except as noted in RULE 6.1.1, vendor specific VISA.NET implementations may allow exceptions thrown by the .NET Framework to propagate up to the calling program. Any VISA.NET operation may throw exceptions, particularly .NET Framework exceptions or exceptions, not listed in this specification. In light of the previous two permissions, it is important that calling programs (1) follow .NET guidelines for handling exceptions, (2) not assume that particular exceptions will be returned for a particular error condition (except as noted in RULE 6.1.1), since different vendors may return different errors in the same situation, and (3) not restrict error processing to VISA status codes defined by the VISA sepcifications when an is caught. Ivi.Visa.NativeVisaException is only thrown when the underlying implementation delegates to a Ivi.Visa.NativeVisaException VISA C implementation. A VISA.NET I/O session throw SHALL NOT System.NotImplementedException.
VISA C implementation, that exception’s StatusCode property SHALL match the value of the status code returned by VISA C. A VISA.NET I/O implementation SHALL NOT throw Ivi.Visa.NativeVisaException or any exception that derives from Ivi.Visa.NativeVisaException unless the VISA.NET implementation is based on an underlying VISA C implementation. Except as noted in RULE 6.1.1, if a VISA.NET I/O session’s implementation is layered over a VISA C implementation, any operation may throw an Ivi.Visa.NativeVisaException with a vendor specific status code that is not listed in the VISA C specifications. VISA.NET implementations may define vendor specific VISA.NET exceptions. Vendor defined VISA.NET exceptions SHALL derive from VisaException directly or indirectly, as appropriate. Vendors should not create a vendor specific VISA.NET exception if there is an applicable .NET framework exception. For example vendors should not define vendor specific VISA.NET exceptions to replace System.ArgumentNullException or System.ArgumentOutOfRangeException. Except as noted in RULE 6.1.1, vendor specific VISA.NET implementations may allow exceptions thrown by the .NET Framework to propagate up to the calling program. Any VISA.NET operation may throw exceptions, particularly .NET Framework exceptions or exceptions, not listed in this specification. In light of the previous two permissions, it is important that calling programs (1) follow .NET guidelines for handling exceptions, (2) not assume that particular exceptions will be returned for a particular error condition (except as noted in RULE 6.1.1), since different vendors may return different errors in the same situation, and (3) not restrict error processing to VISA status codes defined by the VISA sepcifications when an Ivi.Visa.NativeVisaException is caught. Ivi.Visa.NativeVisaException is only thrown when the underlying implementation delegates to a VISA C implementation. A VISA.NET I/O session SHALL NOT throw System.NotImplementedException.
vpp436_2016-06-07.docx