나는 놀라지있어 : 내가 기대오류가 발생해도 try-except 절이 실행되지 않습니다. 그런 조금 보였다 코드의 조각을 테스트하는 동안
if x:
try:
obj = look-for-item-with-id==x in a db
if obj is None:
# print debug message
raise NotFound('No item with this id')
return obj
except Exception, e:
raise Error(e.message)
을 어떤 항목이 DB에서 제공하는 ID (x)는 거기 없었다 경우 NOTFOUND 예외는 것 제기되다. 대신에 if 절에 도달하여 디버그 메시지를 출력 한 후 except 절에 도달하고 Exception (exc 메시지가 Item not found ...)이 발생합니다. 누군가가 친절하게 여기에 나를 계몽 수 있을까요?
당신은'NotFound'를 들고 그것을 잡아 내고 대신에'Error'를 일으키고 있습니다. 너는 무엇을 기대 했는가? – tzaman
좋아, 이제 알았다. 레이즈는 절을 벗어나지 않고 대신 잡히게됩니다. 수치 스럽네요 :) – fanny