如果我在Python中用“try except”包装一块Selenium Webdriver代码,在except块中用self.fail('some problem'),我不知道Selenium在那时会说什么。如果没有尝试,Selenium会给出一个错误消息,例如关于可见性或元素陈旧性等。Webdriver程序如何重新抛出Selenium错误报告?有没有办法重新抛出Selenium错误信息?
0
A
回答
2
有几个选项:
try:
...
except SeleniumException as problem:
raise
或
try:
...
except SeleniumException as problem:
raise problem
都将重新抛出原始异常。第一个将保留原始堆栈(所以你可以看到Selenium本身),后者将处理这个异常,好像它不在Selenium内部发生,但在raise
的位置。
但是,通常情况下,您在那个时候会有新的信息,所以您可能希望在保留原始堆栈跟踪和异常信息的同时添加该信息。为此,有时改变在重新推出它之前被捕获的异常被提出;这是我不建议的,因为它不是一个非常普遍的方法。我宁愿坚持以下几点:Python 3的知道异常链:
try:
...
except SeleniumException as problem:
raise MyNewException("some additional information") from problem
而如果你需要更多的功能,或者你是在Python 2里,你可以看看我的CausedException
类。如果您需要为新的异常提供多个原因(旧异常),也可以使用它。
相关问题
- 1. 有没有办法忽略XAML抛出的Visual Studio错误?
- 2. Flex - 有没有办法更改“Channel Disconnected”错误信息?
- 3. 有没有办法改变错误信息的显示方式?
- 4. BigQuery抛出导入错误,没有提供信息
- 5. 有没有办法REGEX这个信息。
- 6. cin抛出错误信息
- 7. 有没有办法在Django 1.7中重写MinLengthValidator错误消息?
- 8. subprocess.CalledProcessError没有给出错误信息
- 9. phpMyAdmin没有错误信息
- 10. sigabrt没有错误信息
- 11. 有没有办法列出Django信号?
- 12. PHPMailer没有发送,没有给出错误抛出500错误
- 13. 有没有办法导出Firebug HTTPRequest详细信息?
- 14. 没有错误被抛出的错误
- 15. 新记录没有保存,也没有错误信息
- 16. 蟒蛇 - 没有输出也没有错误信息
- 17. 有没有办法在Swift 3中抛出异步闭包的错误?
- 18. 有没有什么办法来自动在Firefox/IE抛出JavaScript错误
- 19. 有没有办法用matlab中的narginchk生成自定义错误信息?
- 20. 有没有办法从hadoop流中的python脚本中获取信息错误?
- 21. 有没有办法让Mercurial给我一个更详细的错误信息?
- 22. Python错误信息'没有错误信息可用'使用win32api
- 23. 重新抛出错误
- 24. 有没有办法通过Selenium/GhostDriver查看PhantomJS console.log消息?
- 25. 有没有办法显示任何Dr.Retet Exception的信息消息?
- 26. Selenium RC“driver.quit()”抛出错误
- 27. Xcode抛出dyld错误信息
- 28. 有没有办法来覆盖[DataType(DataType.Password)]的错误消息
- 29. 有没有办法在ErrorTextField中有多行详细信息?
- 30. 有没有办法获得有关QNetworkAccessManager队列的信息?
你是在说[不带参数的''raise'](http://docs.python.org/2/reference/simple_stmts.html#grammar-token-raise_stmt)? – lanzz
我不知道Python中的这个方法。我会尝试。 – Chakra