I try to call a method getOrders(id) with await Task.Run() within an async .net 5 API. If the method getOrders(id) produces an error, I want it to bubble up to the calling async Task GetIdAsny(int id). But i'm always stuck in the try/catch within getOrders and nothing bubbles up. I just don't get it. Thank you for your help.
public async Task<ActionResult<IEnumerable<Order>>> GetIdAsync(int id)
{
try
{
return await Task.Run(() => getOrders(id));
}
catch (Exception exception)
{
//do something - never landing here
}
}
private List<Order> getOrders(int id)
{
try
{
List<Order> returnValue = new List<Order>();
//doing something that produces an error
return returnValue;
}
catch (Exception exception)
{
//always stuck here
throw new Exception("getOrders(" + id.ToString() + "):" + exception.Message);
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…