在服务中执行CRUD操作的域模型抛出显式标准异常(如ArgumentException或AggregateException ),同时也通过失败的存储过程隐式抛出它们。我不希望通过包装所有异常来公开有关数据库或程序的信息,我只想捕捉那些由过去的开发人员抛出的异常。在避免从失败的存储过程中抛出隐式throw new ArgumentException()时,捕获显式ArgumentException的最佳方法是什么?
我可以在EF中使用ExecuteSqlRawAsync或FromSqlRaw成功地使用存储过程,但我希望能够捕获异常,以防存储过程使用ERROR_SEVERITY()返回错误。例如,我在存储过程中有一条insert语句,并且在该过程中使用了Try Catch。ERROR_PROCEDURE() AS ErrorProcedure,
ERROR_MESSAGE() AS ErrorMessage; 在C#中,我使用ExecuteSqlRawAsy
我使用的是MySQL5.5,如何使用嵌套存储过程进行错误处理。大部分存储过程都会截断table、insert insert select * from和insert into on duplicate update。如果任何嵌套存储过程有任何问题,我希望捕获该错误或告诉我该特定存储过程中发生了错误。
现在,由于嵌套的存储过程,我无法知道在哪个存储过程中发生了<em