특정 오류를 정확하게 처리하는 방법
Go의 표준 라이브러리 기능을 사용할 때 특정 유형의 오류에만 관심이 있는 상황에 직면할 수 있습니다. 오류. 예를 들어 rpc.Dial을 사용하는 경우 연결 끊김 또는 거부와 관련된 오류 처리에만 관심이 있을 수 있습니다.
errors.Is 및 오류 사용
최신 Go에서 특정 오류를 포착하는 데 선호되는 방법은 오류입니다.Is 및 오류 기능:
if errors.Is(err, syscall.ECONNREFUSED) { // Connection refused error } else { // Some other kind of error }
이 함수는 오류와 주어진 대상 오류 또는 오류 유형을 심층적으로 비교합니다.
특정 오류 유형을 사용할 수 있는 경우
일부 라이브러리는 특정 오류 유형을 사용하므로 오류 처리가 더 간단해집니다. 예를 들어, net 패키지는 네트워크 오류에 대한 net.Error를 포함하여 여러 가지 오류 유형을 정의합니다.
if _, ok := err.(net.Error); ok { if err.Error() == "connection lost" { ... } }
가능한 모든 오류 얻기
다음에서 반환된 가능한 모든 오류 확인 표준 라이브러리 함수는 간단하지 않습니다. 가장 좋은 접근 방식은 소스 코드를 검토하거나 함수에 대한 godoc 문서를 참조하는 것입니다.
주의 사항
위 내용은 Go 표준 라이브러리의 특정 오류를 적절하게 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!