re.compile() 또는 특정 Python 라이브러리 호출이 예외를 발생시키나요?
문제
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 코드는 언제든지 예외를 발생시킬 수 있습니다.
다음의 목록이 있습니다. 내장 예외, 일반적으로 이러한 예외가 발생할 수 있는 시기에 대한 설명이 있습니다.얼마나 많은 예외 처리를 수행할 것인지, 그리고 문제를 정상적으로 처리할 것인지, 아니면 역추적을 통해 실패할 것인지는 귀하에게 달려 있습니다.
제휴하지 않습니다 StackOverflow