"Go 코딩 컨벤션"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
14번째 줄: 14번째 줄:
}
}
</syntaxhighlight>
</syntaxhighlight>
위의 접근 방식을 사용하면 컨텍스트 누락으로 인해 불명확한 오류 메시지가 나타날 수 있다.
|
|
<syntaxhighlight lang='go'>
<syntaxhighlight lang='go'>
21번째 줄: 23번째 줄:
}
}
</syntaxhighlight>
</syntaxhighlight>
사용자 지정 메시지로 오류를 래핑하면 스택으로 전파될 때 컨텍스트를 제공한다. 이것이 항상 합리적인 것 아니다. 반환된 오류의 컨텍스트가 충분한지 확신이 없다면 이를 래핑하자.
|}
|}



2021년 10월 20일 (수) 10:24 판

1 개요

Go 코딩 컨벤션

2 오류에 컨텍스트 추가

Don't Do
file, err := os.Open("foo.txt")
if err != nil {
	return err
}

위의 접근 방식을 사용하면 컨텍스트 누락으로 인해 불명확한 오류 메시지가 나타날 수 있다.

file, err := os.Open("foo.txt")
if err != nil {
	return fmt.Errorf("open foo.txt failed: %w", err)
}

사용자 지정 메시지로 오류를 래핑하면 스택으로 전파될 때 컨텍스트를 제공한다. 이것이 항상 합리적인 것 아니다. 반환된 오류의 컨텍스트가 충분한지 확신이 없다면 이를 래핑하자.

3 같이 보기

4 참고

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