aboutsummaryrefslogtreecommitdiff
path: root/Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs')
-rw-r--r--Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs b/Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs
new file mode 100644
index 0000000..6cee30d
--- /dev/null
+++ b/Emails.Transactional.Client/Exceptions/TransactionExceptionBase.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Runtime.Serialization;
+
+using RestSharp;
+
+namespace Emails.Transactional.Client.Exceptions
+{
+ /// <summary>
+ /// A base exception for all client transaction excepions
+ /// </summary>
+ public class TransactionExceptionBase : Exception
+ {
+ ///<inheritdoc/>
+ public TransactionExceptionBase()
+ {}
+ ///<inheritdoc/>
+ public TransactionExceptionBase(string message) : base(message)
+ {}
+ ///<inheritdoc/>
+ public TransactionExceptionBase(string message, Exception innerException) : base(message, innerException)
+ {}
+ ///<inheritdoc/>
+ protected TransactionExceptionBase(SerializationInfo info, StreamingContext context) : base(info, context)
+ {}
+
+ /// <summary>
+ /// The response objec that caused the exception
+ /// </summary>
+ public RestResponse ErrorResponse { get; init; }
+ /// <summary>
+ /// The string represenation of the response body
+ /// </summary>
+ public string ResultMessage => ErrorResponse.Content;
+ }
+} \ No newline at end of file