>백엔드 개발 >Golang >golang에서 오류를 차단하는 방법

golang에서 오류를 차단하는 방법

silencement
silencement원래의
2019-12-25 13:17:211954검색

golang에서 오류를 차단하는 방법

오류 인터페이스 유형은 오류 처리를 위한 표준 모드로 Golang에 도입되었습니다. 함수가 오류를 반환하는 경우 반환 값 유형 목록에 오류가 포함되어야 합니다. 오류 처리 클래스

는 C 언어의 오류 코드와 유사하며 처리될 때까지 계층별로 반환될 수 있습니다.

Golang은 예외 처리 프로세스를 시작하고 종료하기 위해 두 가지 내장 함수인 패닉 및 복구를 도입하고, 지연 후 함수 실행을 지연시키기 위해 defer라는 키워드를 도입합니다.

지연된 함수(defer 이후의 함수)는 defer 문이 포함된 함수가 return을 통해 정상적으로 종료되거나 패닉 마침으로 인한 예외가 발생하더라도 defer 문이 포함된 함수가 실행될 때까지 실행되지 않습니다. 함수 내에서 여러 개의 defer 문을 실행할 수 있으며 선언의 역순으로 실행됩니다.


"

golang tutorial

"을 공부하는 것이 좋습니다프로그램이 실행 중일 때 널 포인터 참조, 범위를 벗어난 첨자 참조 또는 패닉 함수를 명시적으로 호출하는 등의 상황이 발생하면 패닉 함수가 먼저 트리거된 다음 지연 함수가 호출됩니다.

의 호출자는 계속해서 패닉을 통과하므로 호출 스택에서 프로세스가 계속 반복적으로 발생합니다. 함수 실행이 중지되고 지연된 실행 함수가 호출됩니다. 지연 함수에서 복구

함수에 대한 호출이 없으면 ctrip의 시작점에 도달하고 ctrip이 종료된 다음 메인 ctrip을 포함하여 다른 모든 ctrip이 종료됩니다(메인 스레드와 유사) C 언어에서 ctrip ID는

1)입니다.

오류와 예외는 Golang 메커니즘 측면에서 오류와 패닉의 차이입니다. C++/Java 등 다른 많은 언어에서도 마찬가지입니다. 오류는 없지만 errno가 있고 패닉

은 없지만 throw가 있습니다.

Golang 오류와 예외는 서로 변환될 수 있습니다.

오류는 예외로 변환될 수 있습니다. 예를 들어, 프로그램 로직은 특정 URL을 요청하는 동안 최대 3번까지 시도할 수 있습니다. 세 번 시도해도 오류입니다. 그렇다면

실패는 예외로 승격됩니다. 예를 들어, 패닉으로 인해 발생한 예외가 복구된 후 반환 값에 오류 유형 변수가 할당되므로 상위 함수

가 오류 처리 프로세스를 계속할 수 있습니다.

위 내용은 golang에서 오류를 차단하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.