2011-10-13 7 views
1

파이썬 2.7을 사용하고 있습니다.다른 예외 ZipFile.open에 대해 알아야 할 사항

문서 ZipFile.open에 따라 ZipFile.open을 호출 할 때 어떤 예외가 발견되어야하는지 찾을 수 없습니다.

try: 
     with zipfile.ZipFile(zip_file_name, "r") as f_handle: 
      for data_file_name in f_handle.namelist(): 
       try: 
        with f_handle.open(data_file_name, "rU") as file_obj: 
         pass 
       except (RuntimeError), e: 
         pass 
    except (zipfile.BadZipfile, zipfile.LargeZipFile), e: 
     pass 
+0

가짜 파일을 열려고하면 어떻게됩니까? 그것은 당신에게 힌트를 주어야합니다. – jathanism

+0

@ jathanism, 내 OP는 왜 우리가 예외를 잡아야하는지보다는 어떤 예외를 잡는 것과 관련이 있습니다. – q0987

+0

@ q0987 : 그는 잘못된 연산을 시도하여 어떤 예외가 던져 지는지 경험적으로 판단 할 수 있다는 것을 의미했습니다. –

답변

3

예외를 잡을 필요가 있습니까? 귀하의 코드는 RuntimeError 잡기를 보여줍니다 : 예외가 제기되면 어떻게 할 것입니까? 일반적으로, 당신이 그들에 대해 무엇을할지 모른다면 예외를 잡지 않는 것이 가장 좋습니다.

관련 문제