Go에서 사용자 정의 오류 유형 확인
Go에서는 사용자 정의 오류 유형을 정의할 때 특정 유형을 결정해야 하는 경우가 있습니다. 오류 처리. 그러나 오류를 사용자 정의 오류 유형과 직접 비교하려고 시도하면 "type model.ModelMissingError는 표현식이 아닙니다"와 같은 오류가 발생할 수 있습니다.
사용자 정의 오류 유형을 확인하려면 오류에 대한 Go 블로그 게시물에서는 쉼표 ok 관용구를 사용할 것을 권장합니다.
serr, ok := err.(*model.ModelMissingError)
이 관용구는 오류 값 err을 다음에 대한 포인터로 주장하려고 시도합니다. 특정 유형(이 경우 model.ModelMissingError)입니다. 어설션이 성공하면 serr에는 오류의 기본 구체적인 값이 포함되고 ok는 true가 됩니다. 그렇지 않으면 serr은 nil이 되고 ok는 false가 됩니다.
쉼표 ok 관용구를 사용하면 오류가 특정 사용자 정의 유형인지 안전하게 확인하고 패닉을 유발하지 않고 적절한 조치를 취할 수 있습니다.
if ok { // Handle the error as a ModelMissingError } else { // Handle the error as a different type }
이 관용구는 여러 가지 다른 오류를 나타낼 수 있는 공통 오류 인터페이스가 있을 때 특히 유용하며, 이를 통해 맞춤형 오류에 대한 특정 오류 유형을 구별할 수 있습니다. 처리합니다.
위 내용은 Go에서 사용자 정의 오류 유형을 안전하게 확인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!