Arquivo da tag: Golang

Try and Catch in Golang

package main
 
import (
    "fmt"
)
 
type Block struct {
    Try     func()
    Catch   func(Exception)
    Finally func()
}
 
type Exception interface{}
 
func Throw(up Exception) {
    panic(up)
}
 
func (tcf Block) Do() {
    if tcf.Finally != nil {
 
        defer tcf.Finally()
    }
    if tcf.Catch != nil {
        defer func() {
            if r := recover(); r != nil {
                tcf.Catch(r)
            }
        }()
    }
    tcf.Try()
}
 
func main() {
    fmt.Println("We started")
    Block{
        Try: func() {
            fmt.Println("I tried")
            Throw("Oh,...sh...")
        },
        Catch: func(e Exception) {
            fmt.Printf("Caught %v\n", e)
        },
        Finally: func() {
            fmt.Println("Finally...")
        },
    }.Do()
    fmt.Println("We went on")
}
https://dzone.com/articles/try-and-catch-in-golang

Share and Enjoy !

0Shares
0 0

How to connect to Amazon RDS using go-sql-driver

import (
    "database/sql"
    "fmt"

    _ "github.com/go-sql-driver/mysql"
)

db, err := sql.Open("mysql", "<username>:<password>@tcp(<AWSConnectionEndpoint >:<port>)/<dbname>")

if err != nil {
    fmt.Print(err.Error())
}

defer db.Close()
https://stackoverflow.com/questions/25999714/how-to-connect-to-amazon-rds-using-go-sql-driver

Share and Enjoy !

0Shares
0 0