re.compile() 또는 특정 Python 라이브러리 호출이 예외를 발생시키나요?

StackOverflow https://stackoverflow.com/questions/58119

  •  09-06-2019
  •  | 
  •  

문제

re.compile(x) 함수가 예외를 던질 수 있는지 여부를 Python 문서에서 알 수 없습니다(문자열을 전달한다고 가정).잘못된 정규 표현식으로 간주될 수 있는 것이 있다고 생각합니다.더 큰 질문은 주어진 Python 라이브러리 호출이 예외를 발생시킬 수 있는지, 그리고 그 예외가 무엇인지 확인하려면 어디로 가야 합니까?입니다.

도움이 되었습니까?

해결책

잘, re.compile 확실히 다음과 같은 일이 일어날 수 있습니다:

>>> import re
>>> re.compile('he(lo')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python25\lib\re.py", line 180, in compile
    return _compile(pattern, flags)
  File "C:\Python25\lib\re.py", line 233, in _compile
    raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis

문서 우회적인 방식으로 이를 지원합니다. (간략한) 설명을 보려면 "모듈 내용" 페이지 하단을 확인하세요. error 예외.

안타깝게도 일반적인 질문에 대해서는 답변을 드릴 수 없습니다.다양한 모듈에 대한 문서의 품질과 철저함이 다르다고 생각합니다.관심 있는 특정 모듈이 있는 경우 다음을 수행할 수 있습니다. 디컴파일 (파이썬으로 작성된 경우) 또는 심지어 소스를 봐, 표준 라이브러리에 있는 경우.

다른 팁

발생하도록 선언해야 하는 예외가 있는 Java(일부는 반드시 발생해야 할 필요는 없지만 다른 이야기임)와 달리 Python 코드는 언제든지 예외를 발생시킬 수 있습니다.

다음의 목록이 있습니다. 내장 예외, 일반적으로 이러한 예외가 발생할 수 있는 시기에 대한 설명이 있습니다.얼마나 많은 예외 처리를 수행할 것인지, 그리고 문제를 정상적으로 처리할 것인지, 아니면 역추적을 통해 실패할 것인지는 귀하에게 달려 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top