A simple Try-Catch-Finally with Golang
Credits: https://dzone.com/articles/try-and-catch-in-golang
- Code: .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()
}
Start
Catch: string Error
Finally
- Code: .Error()
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)
}
Start
Finally
Error: &{string Error}
- Code: .Execute()
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)
}
Start
Finally
Error: <nil>
Success: End