如何找到定义自定义异常的位置,以便您可以导入它。在我的代码中抛出的错误的堆栈跟踪中,我收到NoSuchElementException。我想抓住这个特定的例外,但我找不到从哪里导入它。有没有办法确定从堆栈跟踪中导入什么内容?
Traceback (most recent call last):
File "/home/ubuntu/webapps/tablecloth/src/tablecloth/apps/atsa/adaptor.py", line 266, in login
welcome_field = driver.find_element_by_class_name(self.welcome_id)
File "/home/ubuntu/webapps/tablecloth/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 342, in find_element_by_class_name
return self.find_element(by=By.CLASS_NAME, value=name)
File "/home/ubuntu/webapps/tablecloth/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 680, in find_element
{'using': by, 'value': value})['value']
File "/home/ubuntu/webapps/tablecloth/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 165, in execute
self.error_handler.check_response(response)
File "/home/ubuntu/webapps/tablecloth/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 158, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchElementException: Message: u'Unable to locate element: {"method":"class name","selector":"userName"}' ; Stacktrace:
at FirefoxDriver.prototype.findElementInternal_
答案 0 :(得分:9)
使用Exception
捕获异常,以便您可以访问异常对象:
try:
call_your_function()
except Exception as e:
print e.__module__
然后将Exception
替换为您找到的更具体的内容。