【问题标题】:Why is SAXException serializable?为什么 SAXException 是可序列化的?
【发布时间】:2014-03-29 15:52:46
【问题描述】:

我有以下情况:

public class MyHandler extends DefaultHandler {
    public class CustomException extends SAXException {

    }
}

Eclipse 告诉我 SAXException 是可序列化的,我应该将 serialVersionUID 添加到 CustomException 或取消警告。

问题:

  1. 为什么这种异常会实现可序列化?
  2. CustomException 为空。我应该添加一个 serialVersionUID 还是禁止显示警告?


相关问题(不太重要):为什么 Eclipse 总是告诉我缺少一个 serialVersionUID,即使我添加了一个?

【问题讨论】:

  • 1) 如果任何类实现了可序列化接口,那么原因是一样的 2) 抑制它
  • 我以前从未理解过警告,但这里有个很好的问题:stackoverflow.com/questions/285793/…

标签: java eclipse serialization sax serialversionuid


【解决方案1】:

1 所有异常都是可序列化的,因为所有异常的超类 Throwable 都是可序列化的。在RMI中使用,如果远程方法抛出异常,该异常将使用序列化返回给客户端

2 你可以两者都做,如果你不打算序列化你的自定义异常,那没有区别

【讨论】:

  • 您能否提供一个我想要序列化异常的案例?这么说是否正确,因为我不打算序列化我的,抑制警告更正确,因为它不会欺骗我的代码的未来读者?
  • 一种情况是 RMI,我将其添加到我的答案中
猜你喜欢
  • 1970-01-01
  • 2015-04-16
  • 2012-12-05
  • 1970-01-01
  • 2011-10-31
  • 2013-08-01
  • 2011-01-15
  • 2018-03-05
  • 1970-01-01
相关资源
最近更新 更多