Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 1st, 2012  |  syntax: None  |  size: 1.82 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Python - Continuing after exception at the point of exception
  2. from xml.dom import minidom
  3.     dom = minidom.parse("algorithms.xml")
  4.     ...
  5.        parameter = dom.getElementsByTagName("Parameters")[0]
  6.        # loop over parameters
  7.        try:
  8.             while True:
  9.                 parameter_id = parameter.getElementsByTagName("Parameter")[m].getAttribute("Id")
  10.                 parameter_name = parameter.getElementsByTagName("Name")[m].lastChild.data
  11.                 ...
  12.                 parameter_default = parameter.getElementsByTagName("Default")[m].lastChild.data
  13.                 print parameter_id
  14.                 print parameter_default
  15.                 m = m+1
  16.         except IndexError:
  17.             #reached end of available parameters
  18.             pass
  19.         #except AttributeError:
  20.             #parameter doesn't exist
  21.             #?
  22.        
  23. def getParam(p, tagName, index, post=None):
  24.     post = post or lambda i: i
  25.     try:
  26.         return post(p.getElementsByTagName(tagname)[index])
  27.     except AttributeError:
  28.         print "informative message"
  29.     return None # will happen anyway, but why not be explicit?
  30.        
  31. parameter_id = getParam(parameter, "Parameter", m, lambda x: x.getAttribute("Id"))
  32. parameter_name = getParam(parameter, "Name", m, lambda x: x.lastChild.data)
  33. ...
  34.        
  35. try:
  36.     while True:
  37.         try:
  38.             parameter_id = parameter.getElementsByTagName("Parameter")[m].getAttribute("Id")
  39.             parameter_name = parameter.getElementsByTagName("Name")[m].lastChild.data
  40.             ...
  41.             parameter_default = parameter.getElementsByTagName("Default")[m].lastChild.data
  42.             print parameter_id
  43.             print parameter_default
  44.             m = m+1
  45.         except AttributeError:
  46.             print "parameter doesn't exist"
  47.         #?
  48. except IndexError:
  49.     #reached end of available parameters
  50.     pass