2

我有一个由其他人编写的旧文件,其中有一些数据格式异常。我有一个我几乎不理解的thrift编译器生成的java文件。我正在尝试验证一些日期输入,当输入无效时它应该抛出该异常。我真的不确定我是否可以使用该异常。

4

1 回答 1

2

这取决于生成代码的 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,客户端将不会看到此错误(但可能是另一个异常)。

于 2013-04-24T00:38:30.490 回答