我抓住了Traceback (most recent call last):
File "python", line 9, in <module>
KeyError: 'd'
。
如果是特定错误,我想做点什么。我可以用字符串轻松识别它。
但是我想知道是否有更清洁的方法来做到这一点。例如,当我为异常创建自己的包装器时,我添加一个索引。
默认例外是否有这样的事情?
我使用的抛出错误的函数是Exception
(selenium对象)的实例化。但是我不需要特定于该课程的答案。
更确切地说,我发现以下错误:RemoteWebDriver
。
但是,如果在创建驱动程序时出现超时或者js文件已关闭,则可能会抛出此异常。他们有保存OpenQA.Selenium.WebDriverException
。
所以我认为除了不幸地检查字符串之外别无他法......
答案 0 :(得分:3)
您可以捕获特定的例外情况。例如......
try
{
//Do things with your RemoteWebDriver...
}
catch (ImportantException e)
{
//Do something important with this specific exception
}
catch (Exception e)
{
throw;
}
当且仅当抛出类型ImportantException
的异常时,此代码“执行”某些特定内容,但在所有其他情况下,它执行其他操作(在此示例中,它只是抛出异常)。
您也可以使用C#6中的异常过滤器。请参阅:https://stackoverflow.com/a/4268291/1672990