Irit Katriel <iritkatr...@yahoo.com> added the comment:

I think this issue is out of date.

For Mihai's example I get:

>>> class A(object):
...   def __init__(self):
...     raise Exception('init error')
...     self.m = 'Hello world'
...   def __del__(self):
...     #raise RuntimeError('my runtime error')
...     self.__del__()
...
>>> def func():
...   h = A()
...
>>> func()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in func
  File "<stdin>", line 3, in __init__
Exception: init error
>>>



For Amaury's first example I get what I expect:


>>> class A:
...     def close(self):
...         self.close()
...     def __del__(self):
...         self.close()
...
>>> class A:
...     def close(self):
...         self.close()
...     def __del__(self):
...         self.close()
...
>>> def func():
...   h = A()
...
>>> func()
Exception ignored in: <function A.__del__ at 0x000002921A8E1820>
Traceback (most recent call last):
  File "<stdin>", line 5, in __del__
  File "<stdin>", line 3, in close
  File "<stdin>", line 3, in close
  File "<stdin>", line 3, in close
  [Previous line repeated 994 more times]
RecursionError: maximum recursion depth exceeded
>>>


And for Amaury's trashcan example (even when I increase the list length to well 
over the trashcan threshold): 

>>> class C:
...     def __del__(self):
...         print('.')
...         x = self
...         for i in range(49):    # PyTrash_UNWIND_LEVEL-1
...             x = [x]
...
>>> l = [C()]
>>> del l
.
>>> class C:
...      def __del__(self):
...          print('.')
...          x = self
...          for i in range(5000):
...             x = [x]
...
>>> l = [C()]
>>> del l
.
>>>

----------
nosy: +iritkatriel
resolution:  -> out of date
status: open -> pending

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue10794>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to