当您使用 Exception 类(用于创建新异常)扩展一个类时,您会收到一个警告,提示您有一个 serialVersionUID
。我知道 serialVersionUID
在序列化和反序列化时起着重要作用,但是当我的 Exception 需要序列化时呢?谁能给我一个我希望我的自定义异常类进行序列化和反序列化的实际案例?
最佳答案
这是因为所有异常的根类,Throwable
实现了Serializable
接口(interface)。默认情况下,所有异常都是可序列化的,这是一种语言设计决定,因为作者希望能够在没有任何特殊配置的情况下通过网络发送异常。
如果基类不可序列化,那么在远程方法失败的情况下,您将很难准确地传达到底出了什么问题,因为您无法控制内置的异常类型。
关于java - 为什么我的异常类需要序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7683739/