Java 为什么SAXException是可序列化的?
我有以下情况:Java 为什么SAXException是可序列化的?,java,eclipse,serialization,sax,serialversionuid,Java,Eclipse,Serialization,Sax,Serialversionuid,我有以下情况: public class MyHandler extends DefaultHandler { public class CustomException extends SAXException { } } Eclipse告诉我SAXException是可序列化的,我应该向CustomException添加serialVersionUID,或者取消警告 问题: 为什么这样的异常实现可序列化 CustomException为空。我应该添加serialVersio
public class MyHandler extends DefaultHandler {
public class CustomException extends SAXException {
}
}
Eclipse告诉我SAXException是可序列化的,我应该向CustomException添加serialVersionUID,或者取消警告
问题:
相关问题(不太重要):为什么Eclipse总是告诉我SerialVersionId丢失,即使我添加了一个?1所有异常都是可序列化的,因为Throwable是所有异常的超类,是可序列化的。它在RMI中使用,如果远程方法引发异常,该异常将使用序列化返回给客户端
2你可以同时做这两件事,如果你不打算序列化你的自定义异常,这没有什么区别1)如果任何类实现了可序列化接口,那么原因是相同的2)抑制它我以前从未理解过警告,但这里有一个很好的问题:你能提供一个我想要序列化异常的案例吗?这样说对吗?因为我不打算序列化我的,所以抑制警告更正确,因为它不会欺骗我代码的未来读者。一个例子是RMI,我将它添加到了我的答案中