在C#中,Promise通常指的是Task或Task
以下是一些處理異常的方法:
try
{
Task<int> task = Task.Run(() =>
{
throw new Exception("An error occurred");
return 42;
});
int result = task.Result;
}
catch (Exception ex)
{
Console.WriteLine("Exception caught: " + ex.Message);
}
Task<int> task = Task.Run(() =>
{
throw new Exception("An error occurred");
return 42;
});
task.ContinueWith(t =>
{
Console.WriteLine("Exception caught: " + t.Exception.InnerException.Message);
}, TaskContinuationOptions.OnlyOnFaulted);
在上面的例子中,我們創建了一個Task對象,并在異步操作中拋出了一個異常。然后我們使用try/catch塊和ContinueWith方法來處理異常。
需要注意的是,在使用ContinueWith方法時,需要將TaskContinuationOptions參數設置為OnlyOnFaulted,以便只在異步操作失敗時執行ContinueWith方法中的代碼。
總的來說,處理C# Promise(Task)的異常可以通過try/catch塊或ContinueWith方法來實現。在處理異常時,需要注意異常的類型和在何時執行異常處理的代碼。