반응형

Python에서 예외처리를 위해 try except를 사용하는 간단한 예제입니다.

2021. 12. 4 - 최초작성




참고

 

https://stackoverflow.com/a/47103744/15850881




4개의 원소를 값는 넘파이 배열을 생성합니다.

배열의 인덱스 범위는 0 ~ 4가 됩니다.

 

a = np.array([1, 2, 3, 4])



예외가 발생하는 상황으로 배열의 인덱스 범위를 넘어가는 5를 인덱스로 사용해보려고 합니다. 



예외가 발생하는 넘파이 배열 a의 인덱스 5를 접근하는 print 문 try 다음에 적어주고

 

그 다음 줄에 except 다음에 감지할 예외 종류를 적어줍니다.

여기에서는 모든 예외를 감지하기 위해 Exception을 적었습니다. 

as e 부분은 예외 메시지를 e로 받는 다는 의미입니다. 

 

print문에서 e에 저장된 예외 메시지를 출력하도록 하고

그 다음줄엔 idx값을 확인해보기 위해 별도로 print 문을 추가했습니다. 



idx = 5

 

try:

    print(a[idx])

 

except Exception as e:

    print(str(e))

    print('idx = ', idx)




실행결과 예외 관련 메시지와 except에 추가한 print문이 출력한 메시지가 모두 출력됩니다.

 

index 5 is out of bounds for axis 0 with size 4

idx =  5



전체 코드입니다.

 

import numpy as np


a = np.array([1, 2, 3, 4])


idx = 5

try:
    print(a[idx])

except Exception as e:
    print(str(e))
    print('idx = ', idx)





문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts