java - 为什么我的异常类需要序列化?

标签 java exception serialization deserialization serialversionuid

当您使用 Exception 类(用于创建新异常)扩展一个类时,您会收到一个警告,提示您有一个 serialVersionUID。我知道 serialVersionUID 在序列化和反序列化时起着重要作用,但是当我的 Exception 需要序列化时呢?谁能给我一个我希望我的自定义异常类进行序列化和反序列化的实际案例?

最佳答案

这是因为所有异常的根类,Throwable实现了Serializable接口(interface)。默认情况下,所有异常都是可序列化的,这是一种语言设计决定,因为作者希望能够在没有任何特殊配置的情况下通过网络发送异常。

如果基类不可序列化,那么在远程方法失败的情况下,您将很难准确地传达到底出了什么问题,因为您无法控制内置的异常类型。

关于java - 为什么我的异常类需要序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7683739/

相关文章:

go - 如何将具有 byte slice 数据类型的结构转换为字节?

java - 在 Android 中将位图转换为 TIFF

java - Selenium Webdriver 无法在 MacOS 环境上最大化

php - fatal error : Uncaught exception 'Exception' in PHPExcel classes

performance - Erlang 'catch'表达式与try/catch在效率方面的关系

Android 异常 getCause - getMessage

C# XML 反序列化和数组

java - 如何将一个 Maven 项目的构建添加到另一个项目中?

java - 使用 Gson 创建特定的 JSON 字符串

symfony - 无法覆盖 SonataUserBundle 中的序列化器配置以隐藏属性