[color=darkblue][size=x-large]情景描述:
比如ACTION 、SERVICE 和 DAO层
我DAO发生了异常,比如SQLException ,我想:在DAO层不捕获,在ACTION层
去捕获,这样就能,在转发到具体的错误页面。而不是一出现异常,页面就是一片空白。
解决办法:
在发生异常的DAO层方法上,加上 throws SQLException,Exception {}
这样,DAO的方法不捕获,抛给SERVICE,同样,在SERVICE中方法上
也加上 throws SQLException,Exception {},抛给ACTION做处理。
这样,就可以在ACTION捕获,做处理,可以转发到相应错误页面。
发散思维:
我很高兴,这样最终,解决了问题,但老大,说其实真正的解决方式,不应该是这样的,因为这样有一个问题,就是我报SQLExceptin , 可能有很多种情况,而不能单纯的抛给
ACTION层,指定一个异常到页面。
而是,把DAO层的方法改写,返回boolean 值,但这样会有一个问题,就是,如果我
我这个方法,要返回一个结果集,怎么办?碰到这种情况,我们可以再加一个方法,
就是判断:是否有结果集。
[/size][/color]
比如ACTION 、SERVICE 和 DAO层
我DAO发生了异常,比如SQLException ,我想:在DAO层不捕获,在ACTION层
去捕获,这样就能,在转发到具体的错误页面。而不是一出现异常,页面就是一片空白。
解决办法:
在发生异常的DAO层方法上,加上 throws SQLException,Exception {}
这样,DAO的方法不捕获,抛给SERVICE,同样,在SERVICE中方法上
也加上 throws SQLException,Exception {},抛给ACTION做处理。
这样,就可以在ACTION捕获,做处理,可以转发到相应错误页面。
发散思维:
我很高兴,这样最终,解决了问题,但老大,说其实真正的解决方式,不应该是这样的,因为这样有一个问题,就是我报SQLExceptin , 可能有很多种情况,而不能单纯的抛给
ACTION层,指定一个异常到页面。
而是,把DAO层的方法改写,返回boolean 值,但这样会有一个问题,就是,如果我
我这个方法,要返回一个结果集,怎么办?碰到这种情况,我们可以再加一个方法,
就是判断:是否有结果集。
[/size][/color]