내 Go 코드에서 계속 '종료 상태 1'이 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-16 02:36:03
원래의
176명이 탐색했습니다.

Why Does My Go Code Keep Throwing

Golang의 exec.Command에서 "Exit Status 1" 오류를 해결하는 방법

Golang에서 exec.Command를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. 디버깅 노력을 방해하는 불특정 "종료 상태 1" 오류입니다. 더 자세한 정보를 얻으려면:

명령의 Stderr 출력에 액세스

Command 개체에는 실행된 명령에서 오류 메시지를 캡처하는 Stderr 속성이 포함되어 있습니다. stderr 출력을 변수로 리디렉션하도록 코드를 수정하세요.

var stderr bytes.Buffer
cmd.Stderr = &stderr

err := cmd.Run()
if err != nil {
    fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
    return
}
로그인 후 복사

이 향상된 코드를 실행하면 다음과 같은 보다 포괄적인 오류 메시지가 제공됩니다.

exit status 1: find: -exec: no terminating ";" or "+"
로그인 후 복사

이렇게 하면 오류가 발생한다는 것이 분명해집니다. 잘못된 명령에서 발생합니다.

비표준 오류 처리 동작

일부 명령은 stderr에 오류를 인쇄하고 0이 아닌 종료 코드를 반환하는 예상 동작과 다를 수 있습니다. ffmpeg와 같은 특정 명령은 stderr에 오류를 인쇄하지만 종료 코드 0을 반환할 수 있습니다. 또한 일부 명령은 stderr 대신 stdout에 오류를 인쇄할 수 있습니다.

이러한 변형을 수용하려면 코드를 조정해야 할 수도 있습니다. 사용 중인 특정 명령과 예상되는 오류 처리 패턴을 고려하세요.

위 내용은 내 Go 코드에서 계속 '종료 상태 1'이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿