그래서 try except 문을 작성하는 올바른 방법을 알고 싶습니다. 파이썬에서 오류 처리에 익숙하지 않다.try, except, else를 Python에서 올바르게 사용하는 방법
옵션 1 개
try:
itemCode = items["itemCode"]
dbObject=db.GqlQuery("SELECT * FROM %s WHERE code=:1" % dbName,itemCode).get()
dbObject.delete()
except AttributeError:
print "There's no item with that code"
except KeyError:
print "Bad parameter name"
except:
print "Unknow error"
옵션 2
try:
itemCode = items["itemCode"]
except KeyError:
print "Bad parameter name"
else:
dbObject=db.GqlQuery("SELECT * FROM %s WHERE code=:1" % dbName,itemCode).get()
try:
dbObject.delete()
except AttributeError:
print "There's no item with that code"
except:
print "Unknow error"
옵션 3 당신이 생각할 수있는 다른 더 나은 옵션을 선택합니다.
옵션 1, try 블록에 모든 코드를 래핑하는 것을 볼 수 있습니다. 옵션 2, 중첩 된 블록을 사용합니다. 특정 행 문에 대한 예외를 발생시킵니다.
어딘가에 오류가 있으면 그것에 대해 기쁘게 생각합니다.
질문을 완전히 이해하지 못했습니다. 당신의 주된 문제는 어떻게 시도해 보느냐, 그렇지 않은지, 마침내 어떻게 작동하는지 이해하는 것입니다. 그 맞습니까? 그렇다면 이것을 설명하는 예제를 제공 할 수 있습니다. – inspectorG4dget
@ inspectorG4dget - 나는 질문이 그들이 어떻게 작동하는지 (두 가지 예 모두 유효하다)와 문체 선호도 질문에 대해 덜 중요하다고 생각한다. –
''try :''블록과''else :''블록에서 오브젝트를 삭제하는 이유를 이해하지 못합니다. 뭔가 빠졌습니까? 그렇지 않습니다. –