我有一个由其他人编写的thrift文件,其中有一些dataformat异常。我有thrift编译器生成的java文件,我几乎无法理解。我正在尝试验证一些日期输入,它应该在输入无效时抛出该异常。我真的不确定我是否可以使用该例外。
答案 0 :(得分:1)
它取决于生成代码的Thrift IDL文件。如果IDL不存在,可以通过查看每个函数调用生成的反序列化方法来获取详细信息,通常将它们命名为recv_Foo()和recv_Bar()。
exception MyError
{
1: i32 code
}
exception UglyError
{
1: i64 what_a_mess
}
Service Sample
{
i32 Foo() throws (1: MyError me)
i32 Bar() throws (1: MyError me, 2: UglyError ue)
}
Foo()只能抛出MyError,而Bar()可以抛出两个异常。如果在处理Foo()调用时抛出UglyError,客户端将不会看到此错误(但可能是另一个异常)。