我想写一个函数,其中只有两个方法调用(方法是单元 - >单元)应该有一个特定的异常处理。这样的行为应该是:
- 如果抛出一个异常,整个函数结束
- 该功能,否则
推移(异常处理程序之外),起初我还以为我可以用与包裹语句的功能在一个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