go 语言中函数错误处理通过返回一个 error 接口类型的错误来实现。1. 内建的 error 接口类型的 error() 方法返回错误的描述字符串。2. 通过 if err != nil 比较错误是否为空来处理错误。3. 错误处理适用于文件读取和数据库查询等实际应用。
Go 语言中函数错误处理的实现
在 Go 语言中,函数可以返回一个 error 接口类型的错误,表示函数的执行失败。错误处理是通过调用内建的 error 接口类型的 Error() 方法来实现的,该方法返回一个描述错误的字符串。
代码示例:
以下是处理错误的一个简单例子:
func divide(a, b int) (int, error) { if b == 0 { return 0, errors.New("division by zero") // 返回错误 } return a / b, nil // 返回结果和 nil(无错误) } func main() { result, err := divide(10, 2) if err != nil { fmt.Println("Error:", err.Error()) // 处理错误 } else { fmt.Printf("Result: %dn", result) } }
实战案例:
读取文件:
func readFile(filename string) ([]byte, error) { data, err := ioutil.ReadFile(filename) if err != nil { return nil, errors.New("could not read file: " + filename) } return data, nil }
数据库查询:
func queryDatabase(query string) (*sql.Rows, error) { rows, err := db.Query(query) if err != nil { return nil, errors.New("could not execute query: " + query) } return rows, nil }