Jak obsługiwać AssertionError w Pythonie i dowiedzieć się, w której linii lub instrukcji wystąpiło?
Chcę sobie poradzićAssertionError
s zarówno do ukrycia niepotrzebnych części śladu stosu od użytkownika, jak i do wydrukowania komunikatu o przyczynie błędu i o tym, co powinien zrobić użytkownik.
Czy jest jakiś sposób, aby dowiedzieć się, w której linii lub oświadczeniuassert
nie powiodło się wexcept
blok?
try:
assert True
assert 7 == 7
assert 1 == 2
# many more statements like this
except AssertionError:
print 'Houston, we have a problem.'
print
print 'An error occurred on line ???? in statement ???'
exit(1)
Nie chcę dodawać tego do każdego stwierdzenia assert:
assert 7 == 7, "7 == 7"
ponieważ powtarza informacje.