操作を行う wcf サービスがあります。この操作でエラーが発生する可能性があります。サービス契約に誤りがある可能性があると述べました。
以下のコードは次のとおりです。
public void Foo()
{
try
{
DoSomething(); // throws FaultException<FooFault>
}
catch (FaultException)
{
throw;
}
catch (Exception ex)
{
myProject.Exception.Throw<FooFault>(ex);
}
}
サービス契約で;
[FaultException(typeof(FooFault))]
void Foo();
アプリケーションの実行中に DoSomething() メソッドによって FaultException がスローされた場合、最初に「catch(Exception ex)」行で例外がキャッチされ、そこで中断されました。次に、もう一度 f5 を押すと、通常どおりに実行されます。なぜその休憩が存在するのだろうか?そうでない場合は、公開時に問題になる可能性がありますか?