길/Python

try / except / finally / assert

7he8oy 2021. 2. 11. 14:12
try:
    print("Hello")
    print(1 / 0)
except ZeroDivisionError:
    print("Divided by zero")
finally:
    print("This code will run no matter what")

try는 오류가 생길 것으로 예상되는 코드를 집어넣고

 

except는 

except 오른쪽에 정의된 오류가 발생했을 시에 실행된다.

혹은 except의 값을 정의하지 않으면 모든 에러가 발생했을 때, except의 코드를 실행한다.

 

finally는

try 하단의 코드, 혹은 에러가 있을 시에는 except까지 모두 시행한 이후에,

그 내부의 코드를 실행한다.

 

 

 

 


try:
  print(1 / 0)
except ZeroDivisionError:
  raise ValueError

해당 코드에서는 

오류 두 개를 모두 볼 수 있다.

그 이유는 다음에서 알 수 있다.

try:
    num = 5 / 0
except:
    print("An error occurred")
    raise

except 블록에서 raise를 하면 except에  거린 오류가 무엇이던지 다시 raise 한다.

 

 


assert

 

print(1)
assert 2 + 2 == 4
print(2)
assert 1 + 1 == 3
print(3)

두 번째 assert에서 오른쪽 값이 False기 때문에 오류를 raise함.

함수의 input이나  output을 sanitize하는 데에 쓰일 수 있다.

' > Python' 카테고리의 다른 글

String Functions  (0) 2021.02.11
dic.get(key [,default])  (0) 2021.02.11
List Functions  (0) 2021.02.10
not sth in list / sth not in list  (0) 2021.02.10
True or False and True  (0) 2021.02.10