OpException
Members
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
.