Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
code copy from pep-3134
#1
I'm attempting to run the snippet of code in PEP-3134, but I'm not getting the errors stated.
The code relates to implicit exception handling. The expectation, according to the PEP, is:

Quote:The ultimate result will be an AttributeError due to the misspelling of clos, whose __context__ points to a NameError due to the misspelling of ex, whose __context__ points to an IOError due to the file being read-only, whose __context__ points to a ZeroDivisionError, whose __context__ attribute is None.

#!/usr/bin/python3

def main(filename):
  file = open(filename)       # oops, forgot the 'w'
    try:
      try:
        compute()
      except Exception, 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'

if __name__ == "__main()__":
  main('t.txt')
I get the following syntax error instead of what is expected:
Error:
File "./exception_chaining.py", line 5 try: ^ IndentationError: unexpected indent
Can anybody suggest why ?
Reply


Messages In This Thread
code copy from pep-3134 - by bluefrog - Aug-26-2018, 02:59 PM
RE: code copy from pep-3134 - by snippsat - Aug-26-2018, 04:35 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Why is the copy method name in python list copy and not `__copy__`? YouHoGeon 2 284 Apr-04-2024, 01:18 AM
Last Post: YouHoGeon
  Python code to copy data from multiple workbooks into master sheet Fatman003 2 3,819 Aug-21-2019, 11:23 AM
Last Post: Fatman003

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020