我的项目中定义了2个自定义异常。每个都应该以不同的方式处理。
UPDATE [dbo].[GL_PERIOD_BAL]
SET[dbo].[GL_PERIOD_BAL] . [CLOSING_CREDIT] = (SELECT GL. [CLOSING_CREDIT]
FROM [EmbraceData].[dbo].[_EMB_GL_ACTUALVALUESTYP] AS GL
WHERE GL.PERIOD = (DBO.gETMAXPERIOD([dbo]. [GL_PERIOD_BAL].GLACCOUNT,[dbo]. [GL_PERIOD_BAL].PERIOD))
AND GL.ID COLLATE SQL_Latin1_General_CP1_CS_AS
= [dbo].[GL_PERIOD_BAL].GLACCOUNT
COLLATE SQL_Latin1_General_CP1_CS_AS)
WHERE LEFT([dbo].[GL_PERIOD_BAL].GLACCOUNT,4) = 'NM01' AND [dbo].[GL_PERIOD_BAL].[BAL.TYPE] = 'R'
主调用方法就是这样。
写入表中的代码是否应该在异常类中(比如一个名为handleItself()的方法)。或者调用者方法应该处理它吗?
有多个入口点。而且我对处理逻辑无处不在犹豫不决。
哪种方式更好?
Exception A
{
errCode
}
Exception B
{
// other stuff
errCode
}
答案 0 :(得分:0)
在异常中不包含任何业务逻辑是一种很好的做法,它们应该是愚蠢的对象,只携带有关抛出它们的原因的信息。正是捕捉类负责(并且在大多数情况下,能)决定如何处理它。
从这个问题的性质来看,似乎你错误地使用例外。例外情况就是异常,不应该用于驱动软件的预期(读取正常)行为。