2011-10-26 48 views
22

Trong python trừ khối, tôi muốn in thông báo lỗi nhưng tôi không muốn các chương trình ngừng thực hiện, tôi hiểu rằng tôi phải làm một cái gì đó như thế nàyjava của() tương đương trong python

try: 
    1/0 
except: 
    print errorMessage 

Trong phần ngoại trừ, tôi đang tìm cách để một cái gì đó giống như java printStackTrace()

+2

Để in dấu vết ngăn xếp mà không gây ra ngoại lệ, hãy xem: http://stackoverflow.com/questions/3925248/print-python-stack-trace-without- exception-being-raise – Eddified

Trả lời

3

Nếu bạn thực sự chỉ muốn được thông báo lỗi, bạn chỉ có thể in lỗi (chú ý làm thế nào tôi xác định ngoại lệ trong việc thực hành ngoại trừ-đó là tốt, xem pep8 cho khuyến nghị về bắt lỗi):

try: 
    1/0 
except Exception as e: 
    print e 

Tuy nhiên, nếu bạn muốn xếp chồng lên nhau, như được nêu trong ví dụ this answer. Hoặc cụ thể hơn cho trường hợp của bạn:

import traceback 
try: 
    1/0 
except Exception as e: 
    print e 
    traceback.print_stack() 
+0

Chỉ cần một headup, [print_stack] (http://docs.python.org/2/library/traceback.html#traceback.print_stack) chỉ in chồng từ bất kỳ dòng mã nào bạn đang ở, trong khi [print_exc() in dấu vết ngăn xếp của ngoại lệ] (http://docs.python.org/2/library/traceback.html#traceback.print_exception). – abelito

Các vấn đề liên quan