サーバーと通信するための非同期メソッドは次のとおりです。
public static Task<bool> ValidateEmail(string email)
{
var url = ServerBase + Resources + Authorization + "check_existence";
var queryString = SerializationHelper.CreateQueryString(new Dictionary<object, object> {{"email", email}});
try
{
return
HttpHelper.PostAsync(url, queryString, null).ContinueWith(
json => SerializationHelper.DeserializeValidationResponse(json.Result));
} catch (Exception e)
{
return TaskErrorHelper.Error<bool>(e);
}
}
(メソッドからの) サーバー応答のシリアル化中にスローされた例外DeserializeValidationResponse
はキャッチされません。私は何を間違っていますか?
UPD:TaskErrorHelper.Error
コード:
internal static Task<T> Error<T>(Exception e)
{
var tcs = new TaskCompletionSource<T>();
tcs.SetException(e);
return tcs.Task;
}