1
내가 nova.keypairs.create()
을 사용하고 있는데 내가 그것을 잘못된 공개 키를 통과, 나는 다음과 같은 얻을 :사용 OpenStack은 노바 예외
BadRequest: Keypair data is invalid: failed to generate fingerprint (HTTP 400) (Request-ID: req-12bc6440-f042-4687-9ee9-d89e7edc260d)
내가 일을하려고 다음과 분명한 이유 (가 OpenStack은에 고유 한 예외의에 대한 그것은 작동하지 않았다) :
try:
nova.keypairs.create(name=keyname, public_key=key)
except BadRequest:
raise cherrypy.HTTPError(400, "Invalid public key")
어떻게 내 자신의 시도 내에서 문을 제외하고 같은 BadRequest
같은 OpenStack은 특정 예외를 사용할 수 있습니까?
을,하지만 난'BadRequest에 InvalidKeypair''에서 제외를 변경했다 '('NameError'가'InvalidKeypair'가 정의되어 있지 않다는 것을 알았습니다.) 잘못된 키 쌍이있을 때 에러를 발생시키는 것과는 대조적으로 모든 나쁜 요청을 얻게 될 것이라고 바보스럽게 생각합니다. m) 오래된 버전을 사용하고 있습니다. – MRichards
@MRichards 매우 많은 가능성이 있습니다. 사용하고있는 Nova 버전이 확실하지는 않지만 비슷한 개념이 될 것입니다. 일반적으로 어떤 예외가 발생하는지 이해하는 좋은 방법입니다 (그리고 파일로부터) 일반 exc를 잡는 것입니다 eption을 입력하고'import traceback; print_traceback()'문을 사용하면 예외가 발생할 때까지 전체 경로를 알려줍니다. –
@MRichards 그게 도움이된다면 받아들이지 말고 upvote :) –