我在try/catch中做了5件事。如果有错误,我怎么知道错误来自哪个函数。所以在Console.WriteLine("Invalid operation");
行,我希望它显示错误是哪个函数,以便调试。
我试图避免在主OnGet()方法中使用5个不同的try/catch。我想把try/catch放在每个子方法中,但我返回IQueryable,所以我无法返回字符串类型的错误。即使这样,我最终还是会有5个不同的if语句来检查OnGet()中的错误
你们是怎么处理这种事的?
public async Task<IActionResult> OnGetAsync(int p = 1, int s = 20)
{
try
{
// get all Data
IQueryable<MY_Model> Query = await _services.Get_All_CoursesTaken();
// Add Filters
Query = AddFilters(Query );
// Add Sorting
Query = AddSorting(Query );
// Add Paging
Query = AddPaging(p, s, Query );
//Display Data
My_List= await Query.AsNoTracking().ToListAsync();
}
catch (InvalidOperationException)
{
Console.WriteLine("Invalid operation");
}
return Page();
}
private IQueryable<MY_Model> AddFilters(IQueryable<MY_Model> Query)
{
//some code
}
private IQueryable<MY_Model> AddSorting(IQueryable<MY_Model> Query)
{
//some code
}
private IQueryable<MY_Model> AddPaging(int p, int s, IQueryable<MY_Model> Query)
{
//some code
}
1条答案
按热度按时间smdncfj31#
也许你的解决方案是:
元组
可以在方法中返回IQueryable和String作为返回类型。