잠재적인 저주 식별
이 단계에서는 Python 주문 (코드) 에서 저주 (오류) 가 발생할 수 있는 잠재적인 지점을 식별하는 방법을 배우게 됩니다. 때때로 잘못될 수 있는 간단한 주문을 만들어 시작해 봅시다. 우리는 물약을 더 작은 병으로 나누려고 시도하는 물약 혼합 스크립트를 만들 것입니다. 하지만 현명한 마법사라면 누구든지 0 으로 나누어서는 안 된다는 것을 알고 있습니다.
~/project 내에서 potion_dividing.py라는 파일을 열고 다음 코드를 추가하십시오.
def divide_potions(total_potions, vial_count):
return total_potions / vial_count
## Attempt to divide 10 potions into 2 vials
print(divide_potions(10, 2))
다음 명령을 사용하여 터미널에서 코드를 실행하십시오.
python ~/project/potion_dividing.py
다음 출력을 볼 수 있습니다.
5.0
이는 물약의 성공적인 분할을 나타냅니다.
이제 potion_dividing.py 스크립트를 수정하여 위험한 주문 사례를 포함하십시오.
print(divide_potions(10, 0)) ## This incantation is dangerous and should be handled!
다음 출력을 볼 수 있습니다.
Traceback (most recent call last):
File "/home/labex/project/potion_dividing.py", line 6, in <module>
print(divide_potions(10, 0))
File "/home/labex/project/potion_dividing.py", line 2, in divide_potions
return total_potions / vial_count
ZeroDivisionError: division by zero
개선된 스크립트를 실행하면 잡아야 할 저주받은 예외가 표시됩니다. 이 랩에서는 이러한 경우를 우아하게 처리하는 방법을 배우겠습니다.