반응형
python에서 사용자 지정 메시지로 오류를 던지고 종료하는 방법
나는 파이썬에서 sys.exit()을 제안하는 사람들을 본 적이 있다. 제 질문은, 현재 스크립트의 실행을 종료할 수 있는 다른 방법이 없을까 하는 것입니다. 즉, 종료를 의미하며, 오류가 발생합니다.
이런 거 말이야:
sys.exit("You can not have three process at the same time.")
현재 제 솔루션은 다음과 같습니다:
print("You can not have three process at the same time.")
sys.exit()
문자열로 호출하면 됩니다. 이에 대한 언급은 다음과 같이 명시적으로 사용됩니다:
특히, sys.exit("some error message")는 에러가 발생했을 때 프로그램을 빨리 종료하는 방법이다.
다음과 같은 오류를 발생시킬 수도 있습니다:
raise SystemExit('Error: 3 processes cannot run simultaneously.')
이 접근 방식의 한 가지 장점은 파이썬 모듈을 가져올 필요가 없다는 것이다. 이것은 파이썬 3과 파이썬 2가 있는 리눅스에서 작동한다. 윈도우나 맥 OS에서 테스트해 본 적이 없다.
LVC가 언급한 첫번째 방법은 sys.exit을 사용하는 세가지 접근법이 있다
sys.exit('My error message')
두번째 방법은 print는 에러 메세지를 포함해서 거의 모든것을 쓸수있다
print >>sys.stderr, "fatal error" # Python 2.x
print("fatal error", file=sys.stderr) # Python 3.x
세번째 방법은 예외가 될 수 있기 때문에 내가 좋아하지 않는 예외를 만드는 것이다
raise SystemExit('error in code want to exit')
이렇게 무시할 수 있다
try:
raise SystemExit('error in code want to exit')
except:
print("program is still open")
먼저 쓰셔야 돼요
그럼 써라
반응형
'개발하자' 카테고리의 다른 글
Visual Studio 코드를 사용하여 스크립트 파일 실행 입력 (0) | 2023.10.01 |
---|---|
Svelte - on: 블러 이벤트 후에만 입력 화재 시 핸들러 변경 (0) | 2023.10.01 |
쿠버네티스 포트와 컨테이너 이름에 허용되는 문자는 무엇인가? (0) | 2023.09.30 |
Terraform을 사용한 인바운드 규칙에 EC2 인스턴스의 IP 참조 (0) | 2023.09.29 |
사용자 지정 Svelte 저장소를 비동기적으로 초기화 (0) | 2023.09.29 |