异常链

✍ dations ◷ 2025-07-21 07:29:07 #软件设计模式

异常链是一种面向对象编程技术,指将捕获的异常包装进一个新的异常中并重新抛出的异常处理方式。原异常被保存为新异常的一个属性(比如)。这个想法是指一个方法应该抛出定义在相同的抽象层次上的异常,但不会丢弃更低层次的信息。

比如,播放视频文件的方法可能捕获读取文件过程中的异常,将其包装在新抛出的播放视频文件的异常中。用户界面部分不需要知道读取字节块、 eof() 调用或其他操作时发生的错误,这是意外的文件结尾、读取错误或者其他的错误:用户界面只需要从 属性中提取出异常信息。用户界面层会有自身一系列的异常。若对 感兴趣,可以在调试期间、或在适当的日志中查看异常的堆栈跟踪信息( stack track )。

Java 中 受控异常(Checked exceptions) 特别强调了抛出正确类型的异常,从 Java 1.4版本开始,几乎所有的异常都支持异常链。

在运行时环境,比如 Java 或 .Net 中,都有工具连接到运行时引擎;每当感兴趣的异常发生,这些工具就记录下内存中的调试信息以及抛出异常的时间(栈和堆上的值)。这些工具提供异常截取(Exception Interception)功能,它们为生产环境、测试环境、开发环境中的Java程序中出现的的异常提供了信息。

相关

  • 粗体粗体是在正常字体样式(或字型)的基础上,通过加粗笔画实现的一种字体样式。例如,“维基百科”的粗体样式为“维基百科”。粗体的英文是bold,在字体编辑软件中,往往以B作为加粗字体
  • 西班牙承认独立明斯特和约(Vrede van Münster),签定于1648年,和约中西班牙国王费利佩四世正式承认荷兰为主权国家。明斯特和约被视为威斯特伐利亚和约的一部分,三十年战争和八十年战争结束的里
  • 北美松鼠灰松鼠(学名:Sciurus carolinensis;英语:eastern gray squirrel、grey squirrel)是一种原生于美国东部及中西部以及加拿大东部省份的树松鼠。它是一种多产且适应性很强的松鼠,后来
  • 足底反射巴宾斯基反射是一种在刺激足底时出现的神经反射现象,常被用来观察新生儿神经系统发育情况,和诊断成人脊髓和脑部疾病。用钝物从脚后跟向前轻轻地摩擦足底的外侧缘,可能会产生以
  • 东北林业大学东北林业大学简称东林、东北林大,创立于1952年,是在浙江大学农学院森林系和东北农学院森林系基础上建立的,是中华人民共和国教育部直属、教育部与国家林业局,教育部与黑龙江省重
  • 炮弹病毒科水泡病毒属 丽沙病毒属 短时热病毒属 胞内水稻黄矮炮弹病毒属 核内水稻黄矮炮弹病毒 粒外弹状病毒属 炮弹病毒科(Rhabdoviridae),RNA病毒的一种,属于单股负链病毒目。它的
  • 非洲历史非洲的历史悠久,是人类的发源地,在公元前4000年的埃及有非洲最早的文字记载。以下几个阶段的发展中,有一些是在尼罗河以外流域。但反过来说非洲很多地方一直缺乏文字记载和信史
  • 克伦民主佛教军5旅 若开民族军 克伦民族联盟 缅甸缅甸内战克伦民主佛教军 - 5旅(缅甸语:ဒီမိုကရက်တစ်ကရင်အကျိုးပြုတပ်မတော် - တပ်မဟာ 5,英语:Democrat
  • 拉夫·达兹拉夫·达兹 (Lavrente Indico Diaz,1958年12月30日-) 是一位菲律宾独立电影工作者,他是缓慢电影(英语:Slow cinema)代表导演之一,其电影作品以超长片闻名,几部影片名列最长的电影纪录
  • 陈映竹陈映竹(1995年2月18日-)是2017年台北世大运滑轮溜冰300米计时赛第二名、500米争先赛第一名、3000米接力第一名。2017年世界滑轮溜冰锦标赛500米第四名、300米银牌(26秒105、0.08