비디오: Microsoft Azure OpenDev—June 2017 2024
Python에서 예외를 처리하는 한 가지 전략은 알 수없는 예외를 처리하기 위해 모든 알려진 예외와 일반적인 except 절에 대해 특정 except 절을 제공하는 것입니다. 파이썬이 사용하는 예외 계층 구조를 확인하십시오. 이 차트를 볼 때 BaseException은 최상위 예외입니다. 대부분의 예외는 Exception에서 파생됩니다. 수학 오류를 처리 할 때 일반 ArithmeticError 또는보다 구체적인 ZeroDivisionError 예외를 사용할 수 있습니다.
Python은 except 절을 소스 코드 파일에 나타나는 순서대로 평가합니다. 첫 번째 절이 먼저 검사되고 두 번째 절이 두 번째로 검사되는 식으로 계속됩니다. 다음 단계는 올바른 예외 순서 사용의 중요성을 보여주는 예제를 검토하는 데 도움이됩니다. 이 경우 수학 오류가 발생하는 작업을 수행합니다.
-
Python 파일 창을 엽니 다.
예제 코드를 입력 할 수있는 편집기가 나타납니다.
-
try: Value1 = int (input ("첫 번째 숫자 입력:")) Value2 = int (input (" 두 번째 숫자를 입력하십시오: ")) ValueError를 제외하고 Output = Value1 / Value2: KeyboardInterrupt를 제외한 print ("누를 때마다 입력해야합니다! "): ArithmeticError: print ("Undefined ZeroDivisionError: print ("0으로 나누려고 시도했습니다!") else: print (Output)
코드는 두 개의 입력 값, 즉 Value1과 Value2를 얻는 것으로 시작합니다. 처음 두 개의 except 절은 예기치 않은 입력을 처리합니다. 나머지 두 번째 절은 0으로 나누기와 같은 수학 예외를 처리합니다. 모든 것이 응용 프로그램과 잘 어울리면, else 절이 실행되어 작업 결과를 인쇄합니다.
->
실행 → 모듈 실행을 선택하십시오. -
파이썬 쉘 창이 열리는 것을 볼 수 있습니다. 응용 프로그램에서 첫 번째 숫자를 입력하라는 메시지를 표시합니다.
Hello를 입력하고 Enter 키를 누릅니다.
-
예상대로 Python은 ValueError 예외 메시지를 표시합니다. 그러나 잠재적 인 문제가 있는지 항상 확인해야합니다.
실행 → 모듈 실행을 다시 선택하십시오.
-
파이썬 쉘 창이 열리는 것을 볼 수 있습니다. 응용 프로그램에서 첫 번째 숫자를 입력하라는 메시지를 표시합니다.
8을 입력하고 Enter 키를 누릅니다.
-
응용 프로그램에서 두 번째 번호를 입력하라는 메시지를 표시합니다.
0을 입력하고 Enter 키를 누릅니다.
-
ArithmeticError 예외에 대한 오류 메시지가 표시됩니다. ArithmeticError 예외보다 더 구체적이므로 ZeroDivisionError 예외가 실제로 표시되어야합니다.
다음과 같이 보이도록 두 예외의 순서를 반대로합니다. ArithmeticError: print ("정의되지 않은 수학 오류가 발생했습니다.") 를 제외하고는
-
ZeroDivisionError: print ("0으로 나누려고했습니다! > 5 ~ 7 단계를 다시 수행하십시오.
이번에는 예외가 올바른 순서로 나타나기 때문에 ZeroDivisionError 예외 메시지가 표시됩니다.
-
단계 5에서 단계 7을 다시 수행하고 0 대신 두 번째 숫자로 2를 입력하십시오.
이번에는 응용 프로그램이 마침내 4의 출력 값을보고합니다. 0
-
포인트 값. floor 나누기 연산자 (//)를 사용하여 정수 출력을 지정하도록 지정하지 않으면 본부의 결과는 부동 소수점 값이됩니다.