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

智能推荐

华科CPP慕课SPOC第七章 编程题3_请完整戏票类的实现代码。并使用测试代码测试该类,测试代码的运行结果应和输出样-程序员宅基地

文章浏览阅读1.6k次,点赞5次,收藏5次。作业_请完整戏票类的实现代码。并使用测试代码测试该类,测试代码的运行结果应和输出样

【数据结构实验】查找(一)基于散列表的查找算法-程序员宅基地

文章浏览阅读1k次,点赞20次,收藏20次。本实验将通过C语言实现基于散列表的查找算法

Excel宏的录制和解密_录制宏,要求对象 columns-程序员宅基地

文章浏览阅读2.1k次。本篇演示的Excel版本:Excel 2019本篇演示一个简单的宏的录制。 实现的效果是将 Sheet1 的A 列 复制到到Sheet2 的 A 列。宏的录制和保存步骤打开Excel点击上方菜单的 “视图”, 点击 “宏 ”, 在下拉菜单中选择录制宏。在弹出对话框中,给宏取个名字后点击“确定”在Sheet1 中选择 A 列, 复制后粘贴到 sheet 2的A列, 在到“宏” 菜单中点击“停止录制”在点击保存的时候会弹出一个提示框,注意: 如果要保存宏, 要点击“否_录制宏,要求对象 columns

PADS设置敷铜实心铜和网格铜_pads铺铜怎么是网格-程序员宅基地

文章浏览阅读2.7w次,点赞4次,收藏22次。PADS设置实心铜和网格铜有两个地方在控制,首先在layout界面中打开【工具】(Tool)->【选项】(Option),找到【栅格和捕获】这一项,在右下侧有一个敷铜栅格,在这里输入1(该数字可为其他值,但是该值约小,敷铜能到达的区域越精确),如下所示设置完该选项后,在敷铜的时候,双击敷铜的形状,然后出现特性界面,如下所示:然后将敷铜的线宽设置成和上面敷铜栅格一样的值,这里因为铺铜栅格是..._pads铺铜怎么是网格

【5G】CORESET解析-程序员宅基地

文章浏览阅读2.3k次,点赞4次,收藏28次。CORESET 结构介绍_coreset

基于java+ssm+vue的个人日程安排微信小程序_有日程管理的vue后台管理系统-程序员宅基地

文章浏览阅读104次。随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了个人日程安排微信小程序的开发全过程。通过分析个人日程安排微信小程序管理的不足,创建了一个计算机管理个人日程安排微信小程序的方案。文章介绍了个人日程安排微信小程序的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。本个人日程安排微信小程序管理员功能有个人中心,用户管理,重要日管理,工作日程管理,会面管理,用餐管理,日程管理,系统管理等。用户可以写自己的相关信息。因而具有一定的实用性。_有日程管理的vue后台管理系统

随便推点

安装 Wine Gecko-程序员宅基地

文章浏览阅读9.3k次,点赞2次,收藏3次。当Wine程序需要显示HTML网页时,Wine就会弹出Wine Gecko Installer窗口要求安装Gecko,而它又要连到网上下载Gecko,对于网络不好或教育网的用户通常是安装不了的。今天参考这篇文章:http://appdb.winehq.or/appview.php?iVersionId=6422,解决了离线安装Wine Gecko的问题。步骤如下: 从http://so_wine gecko

深入了解Snowflake雪花算法:分布式唯一ID生成器_java 雪花算法-程序员宅基地

文章浏览阅读995次,点赞26次,收藏20次。在分布式系统中,生成唯一ID是一项关键的任务。Snowflake算法是Twitter公司开发的一种分布式唯一ID生成算法,通过对时间、机器ID和序列号的合理组合,保证在分布式环境中生成唯一的64位ID。本文将深入解析Snowflake算法的原理,并附带Java代码示例。Snowflake算法是一种简单而高效的分布式唯一ID生成方案,广泛应用于分布式系统中。通过合理配置机器ID和数据中心ID,以及注意时间回拨问题,我们可以确保Snowflake算法生成的ID在分布式环境中的唯一性。_java 雪花算法

jQuery 学习笔记二_function sendmobilecode-程序员宅基地

文章浏览阅读683次。使用jQuery ajax 发送手机验证码_function sendmobilecode

十二个小球称重问题及其Python实现_你有12个球,重量相等,只有一个不是更重就是更轻。用深度学习求解,设计一个策略来-程序员宅基地

文章浏览阅读9.7k次,点赞8次,收藏56次。一、问题描述  在12个外观完全相同的小球中,有一个与其它球重量不同。如何只用一架天平找到这个球并判断它比其它球轻还是重?最少需要称几次?39个球呢?二、问题分析  这是一个很经典的信息论问题,最开始的思路是用分组称重的方法,发现每次测量的次数不固定,而且当球数增多时称重次数会明显增加,所以不是次数最优的方法,于是参考了网上编码的方法并做了一点调整。   一共有12个小球,每个小..._你有12个球,重量相等,只有一个不是更重就是更轻。用深度学习求解,设计一个策略来

22.小波神经网络时间序列预测交通流量(附matlab程序)_matlab时间序列预测道路拥堵-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏11次。随着城市的快速发展,汽车保有量急剧增加,交通日益拥堵,传统的固定时长红绿灯系统不合理配时是造成这种情 况的主要原因。采用输入矢量的内积和小波 基进行加权以实现输入层的特征提取,利用小波基来作为模式识别的特征函数,结合神经网络的自适应功能和时频局域化的优点,优化网络参数和误差空间的 方式是采用小波基函数取代 Sigmoid 函数的小波神 经网络算法,经实验证明,其非线性拟合能力和收敛 速度均较为理想,可以对交通流量的短时进行预测。因此,前馈神经网 络的前馈仅用于计算网络的输出,并且不调整网络的 参数矩阵。_matlab时间序列预测道路拥堵

bootscrap-carousel_position, size, and scrollable content size are am-程序员宅基地

文章浏览阅读75次。carouselbootscrap直接看代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1._position, size, and scrollable content size are ambiguous for stackscrollabl

推荐文章

热门文章

相关标签