Go fmt.Errorf()

Jmnote bot (토론 | 기여)님의 2023년 5월 27일 (토) 20:35 판 (봇: Go 패키지 fmt을(를) Go fmt 패키지(으)로 분류 대체함)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요[ | ]

Go fmt.Errorf()
package main

import (
	"fmt"
)

func main() {
	var result int
	var err error

	result, err = incr(42)
	if err != nil {
		fmt.Println("incr err:", err)
		return
	}
	fmt.Println(result) // 43

	result, err = incr(6)
	if err != nil {
		fmt.Println("incr err:", err) // incr err: cannot work with 6
		return
	}
	fmt.Println(result)
}

func incr(x int) (int, error) {
	if x != 42 {
		return -1, fmt.Errorf("cannot work with %d", x)
	}
	x++
	return x, nil
}

2 실험: nil을 wrap하면?[ | ]

package main

import "fmt"

func main() {
	var err error
	fmt.Println(err) // <nil>

	err = fmt.Errorf("new error: %w", err)
	fmt.Println(err) // new error: %!w(<nil>)
}

3 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}