java getcause_java – Exception.getCause()在尝试查找异常源时返回null-程序员宅基地

技术标签: java getcause  

为什么要System.out.println(e.getCause());给出null?

并且可以像这样存储整个HashSet集合吗?

private void saving() throws IOException, ClassNotFoundException {

ObjectOutputStream out = null;

try {

out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));

out.writeObject(c);

} catch (java.io.NotSerializableException e) {

System.out.println(e.getCause());

} finally {

out.close();

}

}

使用printStackTrace()而不是getCause()

java.io.NotSerializableException: Data$1

at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)

at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)

at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)

at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)

at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)

at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)

at java.util.HashSet.writeObject(HashSet.java:284)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:616)

at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)

at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)

at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)

at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)

at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)

at Prozor.saving(Prozor.java:81)

at Prozor.actionPerformed(Prozor.java:57)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)

at java.awt.Component.processMouseEvent(Component.java:6268)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:6033)

at java.awt.Container.processEvent(Container.java:2045)

at java.awt.Component.dispatchEventImpl(Component.java:4629)

at java.awt.Container.dispatchEventImpl(Container.java:2103)

at java.awt.Component.dispatchEvent(Component.java:4455)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)

at java.awt.Container.dispatchEventImpl(Container.java:2089)

at java.awt.Window.dispatchEventImpl(Window.java:2517)

at java.awt.Component.dispatchEvent(Component.java:4455)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)

at java.awt.EventQueue.access$000(EventQueue.java:96)

at java.awt.EventQueue$1.run(EventQueue.java:608)

at java.awt.EventQueue$1.run(EventQueue.java:606)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)

at java.awt.EventQueue$2.run(EventQueue.java:622)

at java.awt.EventQueue$2.run(EventQueue.java:620)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

仍然没有看到问题,除了它在第一个集合对象上占用,并且集合正在实现Serializable,所有对象也实现Serializable并且线程具有瞬态声明

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33291720/article/details/114190490

智能推荐

Linux 机器间配置 SSH 免密登录_从linux服务器上ssh连接其他主机免输密码-程序员宅基地

文章浏览阅读1.4k次。在日常工作中,服务器常常会有多台。特别是应用服务器存在多台的情况下,在每台机器手动部署或升级服务,每次登录多台机器特别麻烦,通过一台机器跳转每次输入密码(一般都是超强密码)也麻烦。所以说配置机器间的免密,对日常工作来说可以简化操作流程,节省宝贵时间。这篇就简单说说如何配置多台机器间的免密功能。_从linux服务器上ssh连接其他主机免输密码

python预测值和真实值_机器学习中用什么图可以表示预测数据与真实数据的差异?...-程序员宅基地

文章浏览阅读2.5k次。但是实际上学习机器学习可能很困难。您要么使用行为类似于“黑匣子”的预构建包,要么在其中传递数据,另一端则产生魔力,或者您必须处理高级数学和线性代数。每种方法都使学习机器学习充满挑战和威胁。用Python搭建机器学习模型预测房租价格旨在向您介绍机器学习的基本概念。在继续学习时,您将从头开始构建第一个模型以进行预测,同时准确地了解模型的工作原理。(用Python搭建机器学习模型预测房租价格基于我们的机..._python机器学习预测数据比较作图

端口扫描--zmap-程序员宅基地

文章浏览阅读1k次。ZMap被设计用来针对整个IPv4地址空间或其中的大部分实施综合扫描的工具。ZMap是研究者手中的利器,但在运行ZMap时,请注意,您很有 可能正在以每秒140万个包的速度扫描整个IPv4地址空间 。我们建议用户即使在实施小范围扫描之前,也联系一下本地网络的管理员并参考我们列举的最佳扫描体验。默认情况下,ZMap会对于指定端口实施尽可能大速率的TCP SYN扫描。较为保守的情况下,对..._zmap输出结果带端口

uva1587BOX-程序员宅基地

文章浏览阅读114次。uva1587BOX 给定6个矩形的长和宽wi和hi(1≤wi,hi≤1000),判断它们能否构成长方体的6个面。思路是首先排序,每个矩形都是x<y,就是短边x,长边y,然后对六个矩形进行二级排序,排序以后构成长方体的条件有两步,第一步,首先是三对相同的长..._给定6个矩形的长和宽w和h(l≤w,h≤1000),判断它们能否构成长方

Etherent VLAN MPLS LDP Info-程序员宅基地

文章浏览阅读771次。以太网/VLAN/MPLSTopic:以太网1. 以太网帧格式以太网帧格式可分为Ethernet II和IEEE802.3,主要区别在于源MAC地址后俩字节的的长度,所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式了。一、前序字段(前导码/帧间隙:Preamble/SFD)(SFD:Start of Frame Delimiter)前 序字段..._报文eth和vlan以及mpls可以共存吗

华为v系列服务器,服务器的v码-程序员宅基地

文章浏览阅读599次。服务器的v码 内容精选换一换给指定的备份策略添加一个标签。URI格式POST /v2/{project_id}/backuppolicy/{policy_id}/tagsPOST /v2/{project_id}/backuppolicy/{policy_id}/tags参数说明参数是否必选描述project_id是项目IDpolicy_id是策略ID参数说明参数是根据给定的裸金属服务器ID列表,..._vjum

随便推点

【AI视野·今日NLP 自然语言处理论文速览 第二十期】Thu, 8 Jul 2021_自然语言处理最新论文-程序员宅基地

文章浏览阅读301次。AI视野·今日CS.NLP 自然语言处理论文速览Thu, 8 Jul 2021Totally 25 papers????上期速览更多精彩请移步主页Daily Computation and Language PapersDORA: Toward Policy Optimization for Task-oriented Dialogue System with Efficient Context Authors Hyunmin Jeon, Gary Geunbae Lee最近,通过_自然语言处理最新论文

Delphi XE 取得当前时间戳的几个函数_delphi时间戳-程序员宅基地

文章浏览阅读501次,点赞11次,收藏9次。时间戳 delphi_delphi时间戳

bugfix之Parameter is not valid for operation xxx. Parameter is [req]. Processor is [body].-程序员宅基地

文章浏览阅读1k次。对比发现是没有加构造方法,加上注解@NoArgsConstructor 和。@AllArgsConstructor之后解决。_parameter is not valid for operation

Qt键盘事件:捕获和处理用户输入_qt 捕获键盘输入-程序员宅基地

文章浏览阅读397次。通过使用类似的方法,您可以根据自己的需求在Qt应用程序中捕获和处理键盘事件。键盘事件的处理为用户提供了更多的交互性和灵活性,使得Qt应用程序更加强大和易用。在main函数中,我们创建了一个QApplication对象和一个MyWidget对象,并显示了MyWidget窗口。函数会被调用,并传递一个QKeyEvent对象作为参数,该对象包含了有关键盘事件的详细信息,如按下的键码、修饰键状态等。在上面的示例中,我们创建了一个自定义的QWidget派生类MyWidget,并重写了它的。_qt 捕获键盘输入

TL437x-IDK开发板硬件说明书_tl437x nand-程序员宅基地

文章浏览阅读268次。Revision History DraftDate Revision No. Description 2018/2/27 V1.0 1.初始版本。 目 录前言 31处理器 42 FLASH 43 RAM 54 FRAM 5..._tl437x nand

推荐文章

热门文章

相关标签