2012-06-27 31 views

Trả lời

8

Bạn có thể nhìn vào bên trong ngoại trừ bản thân:

>>> def f(): 
...  f() 
... 
>>> try: 
...  f() 
... except RuntimeError as re: 
...  print re.args, re.message 
... 
('maximum recursion depth exceeded',) maximum recursion depth exceeded 

Tôi không nghĩ rằng bạn có thể phân biệt giữa điều này và một cái gì đó chỉ đơn thuần là giả vờ là một (Runtime) ngoại lệ đệ quy chuyên sâu-vượt quá, mặc dù. message không được chấp nhận, do đó, args có lẽ là đặt cược tốt nhất và tương thích với Python-3.


Cập nhật: trong Python 3.5, có thể thay vào đó là RecursionError.

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