summaryrefslogtreecommitdiff
path: root/src/error.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/error.go')
-rw-r--r--src/error.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/error.go b/src/error.go
new file mode 100644
index 0000000..87d7e53
--- /dev/null
+++ b/src/error.go
@@ -0,0 +1,30 @@
+package eduvpn
+
+type detailedVPNErrorCode int8
+type VPNErrorCode int8
+
+type VPNError struct {
+ Code VPNErrorCode
+ Detailed detailedVPNError
+}
+
+func (err VPNError) Error() string {
+ return err.Detailed.Error()
+}
+
+func (err VPNError) Unwrap() error {
+ return err.Detailed
+}
+
+type detailedVPNError struct {
+ Code detailedVPNErrorCode
+ Message string
+ Cause error
+}
+
+func (err detailedVPNError) Error() string {
+ return err.Message
+}
+func (err detailedVPNError) Unwrap() error {
+ return err.Cause
+}