https://github.com/arskang/gotry
A simple Try-Catch-Finally with Golang
https://github.com/arskang/gotry
go go-package golang golang-package try-catch try-catch-finally
Last synced: 5 months ago
JSON representation
A simple Try-Catch-Finally with Golang
- Host: GitHub
- URL: https://github.com/arskang/gotry
- Owner: arskang
- License: mit
- Created: 2022-04-06T03:58:29.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-04-06T04:39:37.000Z (about 4 years ago)
- Last Synced: 2024-06-21T11:46:43.558Z (about 2 years ago)
- Topics: go, go-package, golang, golang-package, try-catch, try-catch-finally
- Language: Go
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GOTRY
A simple Try-Catch-Finally with Golang
Credits: https://dzone.com/articles/try-and-catch-in-golang
##### Examples
1. Code: **.Go()**
```go
package main
import "github.com/arskang/gotry"
func main() {
gotry.New{
Try: func() gotry.Success {
err := true
fmt.Println("Start")
if err {
panic("Error")
}
fmt.Println("End")
},
Catch: func(e *gotry.Exception) {
fmt.Println("Catch:", e.Type, e.Error)
},
Finally: func() {
fmt.Println("Finally")
},
}.Go()
}
```
```cmd
Start
Catch: string Error
Finally
```
2. Code: **.Error()**
```go
package main
import "github.com/arskang/gotry"
func main() {
err := gotry.New{
Try: func() gotry.Success {
err := true
fmt.Println("Start")
if err {
panic("Error")
}
fmt.Println("End")
},
Catch: func(e *gotry.Exception) {
// Not available
},
Finally: func() {
fmt.Println("Finally")
},
}.Error()
fmt.Println("Error:", err)
}
```
```cmd
Start
Finally
Error: &{string Error}
```
3. Code: **.Execute()**
```go
package main
import "github.com/arskang/gotry"
func main() {
success, err := gotry.New{
Try: func() gotry.Success {
err := false
fmt.Println("Start")
if err {
panic("Error")
}
return "End"
},
Catch: func(e *gotry.Exception) {
// Not available
},
Finally: func() {
fmt.Println("Finally")
},
}.Execute()
fmt.Println("Error:", err)
fmt.Println("Success:", success)
}
```
```cmd
Start
Finally
Error:
Success: End
```