我想寫一個函數,其中只有兩個方法調用(方法是單元 - >單元)應該有一個特定的異常處理。這樣的行爲應該是:
- 如果拋出一個異常,整個函數結束
- 該功能,否則
推移(異常處理程序之外),起初我還以爲我可以用與包裹語句的功能在一個try/with塊和一個continuation中,但是當然這個continuation會在塊內被調用......我可能會將這些語句包裝在一個函數中,並使用返回值來表示成功/失敗,但是這看起來很笨重我比較下面的C#代碼,這正是我想要在F#中實現的。
部分功能的F#異常處理
SomeType MyMethod(string x)
{
...
try
{
foo();
bar();
}
catch(SomeException)
{
return null;
}
...
return ...;
}
我認爲這是儘可能接近我想要做的事情,儘管我認爲在這種情況下缺乏更好的控制在命令式編程的控制流程上是一個障礙。 – em70 2010-07-12 18:31:48