title: Python - refactor of try/except block - double call for super() method
body: <p>At beggining, sorry for title of the question - I could not came up a better one. Suggestions are welcome.</p>
  
  <p>I wrote <code>__init__</code> method for my class, which works great, but looks ugly. Can it be improved? I mean the duplicate line calling function <code>super()</code>.</p>
  
  <pre><code>def __init__(self, *args, **kwargs):
      """
      Creates selenium driver.
  
      :param args: Non-keyword variables passed to selenium driver.
      :param kwargs: Keyword variables passed to selenium driver.
      """
  
      try:
          phantomjs_path = 'node_modules/.bin/phantomjs'
          super().__init__(phantomjs_path, *args, **kwargs)
      except WebDriverException:
          phantomjs_path = 'phantomjs'
          super().__init__(phantomjs_path, *args, **kwargs)
  </code></pre>
  
  <hr>
  
  <p>Update:</p>
  
  <pre><code>try:
      phantomjs_path = 'node_modules/.bin/phantomjs'
  except WebDriverException:
      phantomjs_path = 'phantomjs'
  finally:
      super().__init__(phantomjs_path, *args, **kwargs)
  </code></pre>
  
  <p>It does not work - it seems obvious.</p>