Go:lla ei ole poikkeuksia tavallisille virheille. Sen sijaan virheet ovat arvoja, jotka funktiot palauttavat (yleensä viimeisen palautusarvon), ja kutsujat tarkistavat ne eksplisiittisesti. Tämä tekee virheenkäsittelystä näkyvää, tarkoituksellista ja mahdotonta ohittaa hiljaa — Go:n määrittelevä filosofia.
Virhetyyppi ja ydinmalli
{
Error()
}
(, ) {
b == {
, errors.New()
}
a / b,
}
result, err := divide(, )
err != {
fmt.Println(, err)
}
fmt.Println(result)
