Как другие говорили, что эти две части кода эквивалентны.
Я подумал, что у меня возникнут дополнительные мысли.
Во-первых, код, как показано, по существу реализует метод-обертку (SomeFunction), который работает как защитное предложение для SomeOtherFunction.Я бы с осторожностью это сделал - когда ваша KeySizeException будет перехвачена, вы не узнаете только из трассировки стека, что SomeOtherFunction была задействована вообще.Это также означает, что вы не можете видеть это требование SomeOtherFunction благодаря простой проверке кода этого метода.
Кроме того, вы можете рассмотреть возможность рефакторинга этих типов кода в .NET 4.0 Code Contracts - они могут значительно облегчитьпрочитайте код.
Заключительная мысль - в таких случаях, как ваш, я иногда испытываю желание оставить все остальное.Это делает на 100% понятным для кого-то еще, что подразумевается поведение if / else.