在Go語言中,錯誤處理是非常重要的一部分。以下是Go語言中常見的錯誤處理方法:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, errors.New("division by zero")
}
return a / b, nil
}
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered:", r)
}
}()
// 程序正常執(zhí)行
}
func divide(a, b int) (int, error) {
if b == 0 {
panic("division by zero")
}
return a / b, nil
}
import (
"errors"
"fmt"
)
var ErrDivisionByZero = errors.New("division by zero")
func divide(a, b int) (int, error) {
if b == 0 {
return 0, ErrDivisionByZero
}
return a / b, nil
}
func main() {
_, err := divide(10, 0)
if err != nil {
if errors.Is(err, ErrDivisionByZero) {
fmt.Println("Error:", err)
} else {
fmt.Println("Unknown error:", err)
}
}
}
import (
"log"
)
func divide(a, b int) (int, error) {
if b == 0 {
log.Println("Error: division by zero")
return 0, errors.New("division by zero")
}
return a / b, nil
}
func main() {
_, err := divide(10, 0)
if err != nil {
log.Fatalf("Error: %v", err)
}
}
總之,Go語言提供了多種錯誤處理方法,可以根據(jù)實際情況選擇合適的方法進行處理。