파이썬 2.7.10은 예외에서 throw 될 때 문자열을 튜플로 변환하는 것으로 보입니다. 내 예가 여기에 있습니다 :예외에서 파이썬 문자열이 튜플로 변환되었습니다.
class MyError(RuntimeError):
def __init__(self, arg):
self.args = arg
def raiseMyError():
errorCode = 29
errorText = 'Port not ready yet'
exitCodeMessage = 'ERROR {0}: {1}'.format(errorCode, errorText)
# print exitCodeMessage --> print out here and it's a string
raise MyError(str(exitCodeMessage))
try:
raiseMyError()
except MyError as e:
print e.args
나는 오류 코드와 설명이 포함 된 문자열을 만들고이를 사용하여 목적으로 만들어진 예외 클래스를 작성합니다. 나는 예외가 생성되기 전에 exitCodeMessage
변수를 인쇄 할 때 내가 기대하는 것을 얻을 :
('E', 'R', 'R', 'O', 'R', ' ', '2', '9', ':', ' ', 'P', 'o', 'r', 't', ' ', 'n', 'o', 't',
' ', 'r', 'e', 'a', 'd', 'y', ' ', 'y', 'e', 't')
사람 수 :
ERROR 29: Port not ready yet
그러나, 예외 핸들러 내에서 추적이 다음 나에게 준다 여기에 무슨 일이 일어나고 있는지, 내가 그것에 대해 할 수있는 일을 말해 주시겠습니까? 행동에 관한
class MyError(RuntimeError):
pass
-args
이 docs 상태에 있음 : : 사실
'클래스 MyError (RuntimeError에) :하다고 –