OpException

Namespace: ASPSecurityKit
Assembly: ASPSecurityKit.dll

Summary

Represents an exception that can be thrown to indicate operation failure along with its cause. You can use this exception type as a custom application or domain validation exception to pass on useful information to the client securely. See the guidance given in the remarks for this purpose.

Remarks

In order to not reveal sensitive information on production environment via exception, the unhandled exception processors should treat OpException as follows. Call OpResultToStatusCode with Reason and if the status code returned is 500, return a generic error message like “We’re experiencing some difficulties at this time,. Please try again later.”. For other cases, feel free to return the error message. As a developer if you throw OpException, you should make sure that you specify an appropriate OpResult as reason if you want the error message to be returned along with it to the client. You can have application specific custom codes representing OpResult if the existing ones defined in OpResult do not fulfill your requirements. However, if you want to return error message for such codes to the client, you should add such codes to OpResultToHttpStatusCodeMapper because any OpResult instance not in OpResultToHttpStatusCodeMapper will be treated as status 500. Use GetErrorMessage that combines the logic mentioned above to give you the right error message to return to the caller as per environment and status code.

Constructors

#ctor(reason,message)

Summary

Initializes a new instance of the OpException class.

Parameters
Name Type Description
reason ASPSecurityKit.OpResult The cause of failure.
message System.String Optional. The error message containing more information about the failure.

Properties

Reason

Summary

Gets the cause of operation failure.

Value

The cause of operation failure

IsErrorMessageProvided

Summary

Gets whether the Message property holds an error message provided explicitly during construction. Only explicitly provided message holds any meaning to return as part of response.

Value

true if the Message property holds an error message provided explicitly during construction; otherwise, false.