Go 언어는 Java나 C# 언어와 같은 try...catch 예외 처리 방법을 제공하지 않고 함수 반환 값을 통해 레이어별로 던져줍니다.
Go 표준 패키지에서 제공하는 오류 처리 기능:
error는 인터페이스입니다:
type error interface { Error() string }
오류 생성 방법:
// example 1 func Sqrt(f float64) (float64, error) { if f < 0 { return 0, errors.New("math: square root of negative number") } // implementation } // example 2 if f < 0 { return 0, fmt.Errorf("math: square root of negative number %g", f) }
오류 사용자 정의 방법:
// errorString is a trivial implementation of error. type errorString struct { s string } func (e *errorString) Error() string { return e.s }
Go 언어에는 일반적으로 세 가지 오류 처리 전략이 있습니다. :
1. 반환 및 오류 값 확인: 특정 값을 사용하여 성공 및 다양한 오류를 나타냅니다. 상위 계층 코드는 호출된 func의 실행 상태를 확인하기 위해 오류 값을 확인합니다. 특정 오류를 나타내기 위한 오류 유형, 상위 계층 코드는 유형 주장을 통해 오류 유형을 결정합니다
3. 내부 세부 정보를 숨기는 오류 처리: 상위 계층 코드는 호출된 오류에 대한 세부 정보를 모른다고 가정합니다. 함수를 실행하고 오류 인터페이스의 Error 메서드 출력으로 오류를 직접 반환합니다. 이는 기계가 아닌 사람이 볼 수 있는 것입니다. 일반적으로 Error 메서드에서 반환된 문자열을 로그에 인쇄하거나 콘솔에 표시합니다. Error 메서드에서 반환된 문자열에 특정 문자열이 포함되어 있는지 확인하여 오류 처리 방법을 결정하지 마세요.
더 많은 golang 지식을 알고 싶다면
golang tutorial칼럼을 주목해주세요.
위 내용은 Golang 오류 발생 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!