TL;DR:我想传递一些代码,然后在 try catch 伪代码中执行:
void ExecuteInTryCatch(BlockOfCode)
{
try
{
execute BlockOfCode with possible return value
}
catch (MyException e)
{
do something
}
}
长版:我正在编写 Web 应用程序的自动化测试,并希望执行一些代码,这些代码将捕获可能由非确定性原因导致的某些异常,并在最终抛出异常之前重试执行该代码一段时间。我已经考虑过可能为此目的使用委托,但我很困惑我将如何实现这一点,而且我从未使用过 lambda 表达式,这更加令人困惑。
目标是能够将此代码重用于各种 selenium 操作。就个人而言,这对于 Ruby 来说相当简单,但在 C# 中则不然。