##// END OF EJS Templates
pythonw in py3k sets std{in,out,err} to None...
pythonw in py3k sets std{in,out,err} to None The print statement works without error, even though the stdio file objects are instances of None. Since they are instances of None, however, the encoding attribute will not exist, so protect blind attribute access of std{in,out,err} by using a new function, get_stream_enc.

File last commit:

r2440:0caaf43a
r6651:40ec4c33
Show More
simpleerr.py
32 lines | 584 B | text/x-python | PythonLexer
"""Error script. DO NOT EDIT FURTHER! It will break exception doctests!!!"""
import sys
def div0():
"foo"
x = 1
y = 0
x/y
def sysexit(stat, mode):
raise SystemExit(stat, 'Mode = %s' % mode)
def bar(mode):
"bar"
if mode=='div':
div0()
elif mode=='exit':
try:
stat = int(sys.argv[2])
except:
stat = 1
sysexit(stat, mode)
else:
raise ValueError('Unknown mode')
if __name__ == '__main__':
try:
mode = sys.argv[1]
except IndexError:
mode = 'div'
bar(mode)