Jordan Savant # Software Engineer

Go Example Code

Go is an awesome language.

Errors

package main
import (
    "fmt"
    "errors"
)

func main() {
    l, err := getline("/path")
    if err != nil {
        fmt.Println("bad access", err)
    }
    fmt.Println(l)
}

func getline(filename string) (string, error) {
    if (false) {
        return "", errors.New("bad perms")
    }
    return "example", nil
}

Panic

package main
import "fmt"

func main() {
    l := getline("/path")
    defer onend()

    fmt.Println(l) // wont run
}

func onend() {
    if r := recover(); r != nil {
        fmt.Println("Recovered", r)
    }
}

func getline(filename string) (string) {
    if (true) {
        panic("oh shit")
    }
    return "example"
}