Todd Rovito added the comment:

Terry,
   Bottom line I can't seem to get this patch to do anything for me.  Before 
the patch is applied IDLE seems to be handling warnings and exceptions just 
fine in PyShell on the Mac.  I get no crash and the output matches the normal 
console.  Here is a small test program I wrote:
import warnings

def fxn():
    # user warnings are not ignored by default and will cause a dump of 
information
    # to standard error.
    warnings.warn("User warning: Warn on purpose for IDLE", UserWarning)

if __name__ == "__main__":
    fxn()
    print("the program should not terminate with the warning, but keep on 
running")
    a = 10 * 1000
    print(a)

    # exception testing each of these will stop the program
    # divide by zero
    b = 10 * (1/0)
    print(b)
    # variable not defined
    c = 4 + spam*3
    print(c)
    # can't convert 'int' object o str implicitly
    d = '2' + 2
    print(d)

Then I wanted to make sure I was executing the patched code so I made sure I 
called idle.pyw (normally I wouldn't do that I would use idle.py).  After I 
called the correct script I changed the code to force std error to ErrorNotify 
class around line 101:
import sys

##if 0: # For testing
##    sys.__stderr__ = None
##    sys.stderr = None

if sys.__stderr__ is None:
    sys.__stderr__ = ErrorNotify()

if sys.stderr is None:
    sys.stderr = ErrorNotify()

if sys.__stdout__ is None:
    sys.__stdout__ = ErrorNotify(devnull=True)

if sys.stdout is None:
    sys.stdout = ErrorNotify(devnull=True)

sys.__stderr__ = ErrorNotify()
sys.stderr = ErrorNotify()

I would expect after this code runs any message sent to stderr would go through 
the ErrorNotify class and a widget should appear with the stderr output.  Even 
after this change I can't get the error widget to appear.  I have not given up 
yet but I wanted to provide a status update.

----------

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

Reply via email to