Python에서 "raise" 키워드를 사용하는 방법
저는 "raise"의 공식적인 정의를 읽었지만, 저는 아직도 그것이 무엇을 하는지 잘 모르겠습니다.
간단히 말해서 "상승"이란 무엇입니까?
사용 예제가 도움이 될 것입니다.
두 가지 목적이 있습니다.
자신의 오류를 일으킬 때 사용합니다.
if something:
raise Exception('My error!')
두 번째 방법은 예외 핸들러에서 현재 예외를 다시 생성하여 콜스택에서 처리할 수 있도록 하는 것입니다.
try:
generate_exception()
except SomeException as e:
if not can_handle(e):
raise
handle_exception(e)
raise
인수 없이 python 구문을 사용할 수 있습니다.예외를 받고 다시 높인다는 뜻입니다.이 사용법을 사용하는 경우는, 라고 불릴 수 있습니다.
raise
식이 존재하지 않는 경우 raise는 현재 범위에서 활성화되었던 마지막 예외를 다시 발생시킵니다.
한다면raise
인수 없이 단독으로 사용한다는 것은 엄격히 재상승에 사용됩니다.다른 예외를 재작성하지 않은 상황에서 실행되면 다음 오류가 표시됩니다.RuntimeError: No active exception to reraise
오류 발생에 사용됩니다.
if something:
raise Exception('My error!')
몇 가지 예시는 다음과 같습니다.
게다가.raise Exception("message")
그리고.raise
Python 3는 새로운 형태를 도입했습니다.raise Exception("message") from e
예외 체인이라고 불리며 트레이스 백을 사용하여 원래 예외(근본 원인)를 보존할 수 있습니다.
C#의 내부 예외와 매우 유사합니다.
상세정보 : https://www.python.org/dev/peps/pep-3134/
에러 체크의 일부로서 에러를 발생시키기 위해서 사용할 수 있습니다.
if (a < b):
raise ValueError()
또는 일부 오류를 처리한 후 오류 처리의 일부로 전달합니다.
try:
f = open('file.txt', 'r')
except IOError:
# do some processing here
# and then pass the error on
raise
raise
에 의해 예외가 발생합니다.몇몇 다른 언어들은 동사 'throw'를 대신 사용한다.
이것은 에러 상황을 통지하기 위한 것으로, 통상의 흐름에서 예외적인 상황임을 나타냅니다.
발생한 예외는 코드 '업스트림'(주변 블록 또는 스택의 이전 함수)에 의해 다시 포착되어 처리될 수 있습니다.try
,except
콤비네이션.
언급URL : https://stackoverflow.com/questions/13957829/how-to-use-raise-keyword-in-python
'programing' 카테고리의 다른 글
옵션이 설정된 경우 BitmapFactory.decodeStream이 null을 반환합니다. (0) | 2023.01.17 |
---|---|
Larabel - 웅변 또는 유창 랜덤 행 (0) | 2023.01.17 |
서로 다른 데이터베이스 간의 MySQL InnoDB 외부 키 (0) | 2022.12.24 |
마리아에서의 Datetime current_timestampDB (0) | 2022.12.24 |
php 여러 공간을 하나의 공간으로 바꾸기 (0) | 2022.12.24 |