diff options
Diffstat (limited to 'src/error.go')
| -rw-r--r-- | src/error.go | 30 |
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 +} |
