Второй случай похож на Faultable Action Factory. Где вы передаете делегат того, что вы хотите сделать, protectedBlock
, и делегат того, что делать, когда происходит Exception
, faultHandler
. Действия возвращаются в виде структуры try / catch в виде совокупности Action
. Моя проблема с обоими этими методами заключается в том, что Exception
на самом деле не пойман, поэтому у тех, кто собирается поймать ваш бросок, нет информации о том, как действовать.
Разница в исполнении между двумя заключается в том, когда они фактически выполняются. 1-й будет выполнен, когда он будет вызван. 2-й будет выполняться всякий раз, когда вызывается возвращенный Action
. Я не думаю, что разница в эффективности была бы значительной.