我真的不知道该怎么说,但当我在python 3.2中引发异常时,'\n'没有被解析。。。
这里有一个例子:
class ParserError(Exception):
def __init__(self, message):
super().__init__(self, message)
try:
raise ParserError("This should havena line break")
except ParserError as err:
print(err)
它是这样工作的:
$ ./test.py
(ParserError(...), 'This should havena line break')
如何确保将新行打印为新行?
class ParserError(Exception):
pass
或
print(err.args[1])
Ahh,错误消息在2.6中被弃用-因此不再存在,因此…
print(err.args[1])
这里发生的情况是,作为将整个Exception
对象传递给print()
的一部分,正在打印消息字符串的repr
,因此换行符被转换回n
。如果您单独print
实际字符串,则实际换行符将打印出来。