2013-06-23 2 views
2

디버깅에 대한 많은 자료를 읽었습니다 try,exception,finally. 나는 우리가 어떤 코드를 시도 할 때 어떤 예외가있을 수 있다는 것을 이해합니다. 하지만 왜 우리가 예외가 생길 때 우리가 마침내 사용하는 이유를 이해하지 못합니까?가끔 드디어 디버깅에 사용되는 이유는 무엇입니까?

+2

'finally'는 ** 항상 ** 실행됩니다. 때로는 'exception'이후의 코드가 실행되지 않을 수도 있습니다. (예외가 * exception 블록 내에 던져지는 상황을 생각해보십시오) – Maroun

답변

2

documentation에 표시된대로 절은 사용 여부에 관계없이 외부 리소스를 해제하는 데 유용합니다. 이러한 외부 리소스는 파일 또는 네트워크 연결 일 수 있으며 모든 상황에서 정리해야합니다. 예를 들어

은 : 쓰기 작업이 예외를 발생하므로 경우에도

try: 
    f = open("testfile", "w") 
    try: 
     f.write("This may not work!") 
    finally: 
     f.close() 
except IOError: 
    print("Error! Can't find file") 

f.close() 항상 실행됩니다 성명, 파일은 항상 마지막에 종료됩니다.

관련 문제