본문 바로가기
언어/Python

[Python] 예외처리

by merona99 2018. 7. 26.
반응형

*예외처리


오류를 무시하고 싶을때 사용.

try, except를 이용해서 예외적으로 오류를 처리할 수 있게 함.



<기본구조>

이러함.



ex)

4를 0으로 나누려고 하자 ZeroDivisonError가 발생.

except블록이 실행되고 e라는 오류 메시지를 출력.




*try...else

excepct절이 실행되지 않는 예외의경우 else절이 실행됨.


foo.txt라는 파일이 없기때문에 except절이 수행됨.




*finally

finally절은 try문 수행 도중 예외 발생 여부에 상관없이 항상 수행됨.

보통 사용한 리소스를 close해야 할 경우에 사용됨.


finally:

f.close()



형식으로 사용됨.




*오류 회피하기


except FileNotFoundError:     #파일이 없더라도 오류를 발생시키지x

pass     


'pass'를 사용하면 오류를 그냥 회피할 수 있음.





*오류 일부러 발생시키기


이때는 raise라는 명령어를 이용하면 된다.


Bird 클래스를 보면 Bird 클래스를 상속받은 자식 클래스는 반드시 fly라는 함수를 구현해야 한다는 의지를 보여줌.

Eagle 클래스가 fly함수를 구현하지 않았더니 Bird 클래스의 fly함수가 호출됨.

그리고 raise문 때문에 NotlmplementedError가 발생.





*만약 NotlmplementedError오류가 발생하지 않게 하려면?

Eagle 클래스에 fly함수를 구현하면 됨^^.


요러케





//끝이 머지않아 보인다. (물론 책의 ㅎㅎ)

반응형

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

[Python] 외장함수  (0) 2018.07.26
[Python] 내장함수  (0) 2018.07.26
[Python] 패키지  (0) 2018.07.26
[Python] 모듈  (5) 2018.07.25
[Python] 클래스  (0) 2018.07.25

댓글