我真的不知道怎么说,但是当我在python 3.2中引发异常时,'\ n'不是解析 ......
以下是一个例子:
class ParserError(Exception):
def __init__(self, message):
super().__init__(self, message)
try:
raise ParserError("This should have\na line break")
except ParserError as err:
print(err)
它的工作原理如下:
$ ./test.py
(ParserError(...), 'This should have\na line break')
如何确保新行打印为新行?
class ParserError(Exception):
pass
或
print(err.args[1])
答案 0 :(得分:5)
啊,err.message在2.6中被弃用 - 所以不再存在,所以...
print(err.args[1])
答案 1 :(得分:2)
这里发生的事情是,正在打印消息字符串的repr
作为将整个Exception
对象传递给print()
的一部分,因此换行符将被转换回{{ 1}}。如果您单独\n
实际字符串,则会打印实际换行符。