更新 'README.md'

main
shipengyu 1 year ago
parent c92e61dad6
commit 10c3848530

@ -8,4 +8,4 @@
由于DTAF/TAF框架都是依赖于第三方的框架在第三方的框架中他们自定义的异常几乎都是继承自RuntimeExceptionJava中的运行时异常是不需要进行主动声明抛出的所以在第三方的框架api中很少有方法会主动的抛出异常而我们的TAF框架考虑到了业务代码通常会抛出业务异常所以定义了TafException而业务代码在很多时候都需要考虑异常情况并通过异常抛出的形式给到前端作为提示信息所以TafException继承自Exception似乎不太合理这个异常必须显示的声明所以我们的代码几乎都有声明异常抛出这一方面带来了注释的维护维护不彻底打包会有大量的警告信息另一方面看起来感觉异常声明太泛滥了。所以我觉得应该将TafException继承自RuntimeException。另一方面我们依赖于第三方框架时在重写方法时我们只能按照别人的方法定义去实现逻辑抛出RuntimeException以上或者以外的异常是不允许的。
另外在client的调用中如果我们的异常是继承自运行时异常并且在方法声明中抛出了那么就能抛出一个运行时异常或者运行时异常的子异常就能将异常类型信息通过client进行传递了而不是在client调用过程中丢失了异常类型信息
另外在client的调用中应该可以尝试通过openFeign接口定义中提供的异常执行方法key例如IPeopleValidityCheckClient#login(String,String)这是不带有异常声明信息的但是可以尝试通过key中的类名以及方法名利用反射机制获取接口的抛出异常那么就能保留异常类型进行抛出到调用端。但是这好像在同时有多个异常的情况下仍旧不完美因为存在多个抛出异常时无法知道响应中的异常信息是哪一种想通过不同的业务异常类型进行业务判断就变得不可行
Loading…
Cancel
Save