ja naprawdę nie wiem jak to powiedzieć, ale kiedy podnieść wyjątek w Pythonie 3.2, „\ n” nie są analizowany ...Python 3 wyjątek nie drukuje nową linię
Oto przykład :
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)
to działa tak:
$ ./test.py
(ParserError(...), 'This should have\na line break')
jak mogę mieć pewność, że nowe linie są drukowane jako nowe linie?
class ParserError(Exception):
pass
lub
print(err.args[1])
zostanie wydrukowany (err.message) zrobić? –
Nie, obiekt nie ma atrybutu "wiadomość" – user1530147
Interesująco, jeśli pozbędziesz się metody "__init__", tylko tekst wyjątku zostanie wydrukowany wraz z kodem, a znak nowej linii zostanie poprawnie wydrukowany. – geoffspear