오류 인터페이스 유형은 오류 처리를 위한 표준 모드로 Golang에 도입되었습니다. 함수가 오류를 반환하는 경우 반환 값 유형 목록에 오류가 포함되어야 합니다. 오류 처리 클래스
는 C 언어의 오류 코드와 유사하며 처리될 때까지 계층별로 반환될 수 있습니다.
Golang은 예외 처리 프로세스를 시작하고 종료하기 위해 두 가지 내장 함수인 패닉 및 복구를 도입하고, 지연 후 함수 실행을 지연시키기 위해 defer라는 키워드를 도입합니다.
지연된 함수(defer 이후의 함수)는 defer 문이 포함된 함수가 return을 통해 정상적으로 종료되거나 패닉 마침으로 인한 예외가 발생하더라도 defer 문이 포함된 함수가 실행될 때까지 실행되지 않습니다. 함수 내에서 여러 개의 defer 문을 실행할 수 있으며 선언의 역순으로 실행됩니다.
"
"을 공부하는 것이 좋습니다프로그램이 실행 중일 때 널 포인터 참조, 범위를 벗어난 첨자 참조 또는 패닉 함수를 명시적으로 호출하는 등의 상황이 발생하면 패닉 함수가 먼저 트리거된 다음 지연 함수가 호출됩니다.
의 호출자는 계속해서 패닉을 통과하므로 호출 스택에서 프로세스가 계속 반복적으로 발생합니다. 함수 실행이 중지되고 지연된 실행 함수가 호출됩니다. 지연 함수에서 복구
함수에 대한 호출이 없으면 ctrip의 시작점에 도달하고 ctrip이 종료된 다음 메인 ctrip을 포함하여 다른 모든 ctrip이 종료됩니다(메인 스레드와 유사) C 언어에서 ctrip ID는
1)입니다.
오류와 예외는 Golang 메커니즘 측면에서 오류와 패닉의 차이입니다. C++/Java 등 다른 많은 언어에서도 마찬가지입니다. 오류는 없지만 errno가 있고 패닉
은 없지만 throw가 있습니다.
Golang 오류와 예외는 서로 변환될 수 있습니다.
오류는 예외로 변환될 수 있습니다. 예를 들어, 프로그램 로직은 특정 URL을 요청하는 동안 최대 3번까지 시도할 수 있습니다. 세 번 시도해도 오류입니다. 그렇다면
실패는 예외로 승격됩니다. 예를 들어, 패닉으로 인해 발생한 예외가 복구된 후 반환 값에 오류 유형 변수가 할당되므로 상위 함수
가 오류 처리 프로세스를 계속할 수 있습니다.
위 내용은 golang에서 오류를 차단하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!