Exception handling

package main

import (
    "errors"
    "fmt"
    "math"
)

func sqrt(x float64) (float64, error) {
    if x < 0 {
        return 0, errors.New("square root of negative number")
    }
    return math.Sqrt(x), nil
}

func sqrtSum(x float64, y float64) (float64, error) {
    sqrtX, err := sqrt(x)
    if err != nil {
        return sqrtX, errors.New("Sqrt(x) error: " + err.Error())
    }

    sqrtY, err := sqrt(y)
    if err != nil {
        return sqrtY, errors.New("Sqrt(y) error: " + err.Error())
    }

    return sqrtX + sqrtY, nil
}

func main() {
    sqrtSum, err := sqrtSum(16.0-25.0)
    //printed:
    //0
    //Sqrt(y) error: square root of negative number

    fmt.Println(sqrtSum)
    fmt.Println(err)
}