У меня есть контроллер MVC, который использует класс обслуживания платежей. Где я должен делать обработку исключений? Что такое лучшая практика?
Использую ли я блоки try / catch в контроллере и классе обслуживания?
Это исключение только что снова выдано в классе обслуживания, чтобы оно могло быть обработано в контроллере? Или вся обработка исключений должна выполняться в контроллере?
Я могу поймать определенные исключения Stripe, это должно быть сделано в классе обслуживания или контроллере? Confused ...
public async Task<IActionResult> DoSomething(MyViewModel model)
{
try
{
await _paymentService.UpdateSomethingAsync(id, token);
}
catch (Exception ex)
{
//handle
}
enter code here
}
public class PaymentService : IPaymentService
{
public async Task UpdateSomethingAsync(string id, string token)
{
try
{
//update using Stripe...
}
catch (Exception ex)
{
//TODO: Implement error handling
throw;
}
}
}