B1Exception
和B2Exception
都继承BException
,它们在一个方法中作为BException
被catch,又变换为AException
被throw出去。
catch(BException e){
throw AException(e)
}
最终catch到AException的地方,想根据到底是哪种BException
来分开处理。
如果不用instanceof,应该怎么修改?
catch (AException e) {
if (e.getCause() instanceof B1Exception){
throw new BadRequestException(ErrorCode.B1, e);
} else if (e.getCause() instanceof B2Exception){
throw new ServerErrorException(e);
}
}
谢谢各位指教。
没写过 Java ,不过这种情况不能写多个
catch
吗?