问题是您的代码正在处理异常,这在99.9%的情况下是一件很不好的事情,并且正在发生以下情况:
与会话的交互之一在try块中失败,并引发异常。发生这种情况时,会话将处于无效状态,因为它处于不一致状态,因此不能用于 绝对任何内容
。但是您的代码与catch块中的会话进行交互,从而触发断言。
在会话发生异常之后,唯一安全的事情是回滚事务并关闭它。任何其他类型的交互都可能会生成另一个异常(在这种情况下为断言异常)。

问题是您的代码正在处理异常,这在99.9%的情况下是一件很不好的事情,并且正在发生以下情况:
与会话的交互之一在try块中失败,并引发异常。发生这种情况时,会话将处于无效状态,因为它处于不一致状态,因此不能用于 绝对任何内容
。但是您的代码与catch块中的会话进行交互,从而触发断言。
在会话发生异常之后,唯一安全的事情是回滚事务并关闭它。任何其他类型的交互都可能会生成另一个异常(在这种情况下为断言异常)。