(Aug-26-2018, 02:59 PM)bluefrog Wrote: Can anybody suggest why ?Indentation is wrong on web-site,so have to fix that.
Here also a fix so it work Python 3.6 -->.
def main(filename): file = open(filename) # oops, forgot the 'w' try: try: compute() except Exception as exc: log(file, exc) finally: file.clos() # oops, misspelled 'close' def compute(): 1/0 def log(file, exc): try: print >>file, exc # oops, file is not writable except: display(exc) def display(exc): print(ex) # oops, misspelled 'exc' main('result.csv')
Output:λ python 394.py
Traceback (most recent call last):
File "394.py", line 5, in main
compute()
File "394.py", line 12, in compute
1/0
ZeroDivisionError: division by zero
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "394.py", line 16, in log
print >>file, exc # oops, file is not writable
TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and '_io.TextIOWrapper'. Did you mean "print(<message>, file=<output_stream>)"?
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "394.py", line 7, in main
log(file, exc)
File "394.py", line 18, in log
display(exc)
File "394.py", line 21, in display
print(ex) # oops, misspelled 'exc'
NameError: name 'ex' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "394.py", line 23, in <module>
main('result.csv')
File "394.py", line 9, in main
file.clos() # oops, misspelled 'close'
AttributeError: '_io.TextIOWrapper' object has no attribute 'clos'