异常链

✍ dations ◷ 2024-12-23 05:00:52 #软件设计模式

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

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

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

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

相关

  • 污水妥善处理率污水妥善处理率是一个城市对污水处理的能力,隐含一个城市的公共卫生、环保能力标准,其包含公共污水下水道用户接管户数、专用污水下水道接管户数及建筑物污水处理设施设置户数
  • 东吴东吴可以指:
  • 长度长度是一维空间的度量,是国际单位制的七种基础度量之一。在几何体中长度通常指最长的一维。通常在量度二维空间中量度直线边长时,称呼长度数值较大的为长,不比其值大或者在“侧
  • 赫什科阿夫拉姆·赫什科(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter Aram Tsova"
  • 区域中心城市区域中心城市是中国大陆官方对城市依据城镇体系规划进行的一种划分方式,是指具有重要区域意义的省会城市及副省级城市,区域中心城市的培育将促进区域经济社会的发展,缩小地区间
  • 革命和叛乱列表这是一个历史上世界各地革命和叛乱的列表。在中文语境中,革命多带有正面意义和褒义,叛乱多带有贬义和负面色彩。反对者成功终结当权者统治的历史事件多认定为革命,当权者成功剿
  • 丧文化丧文化是流行于中国大陆青年群体中的由颓废、悲观、绝望等消极情绪所引发的一种亚文化,通过文字、视频、表情包等形式在网络上进行传播,在线下也有以此为题材的产品营销。丧文
  • 愒人愒人或凯特人(俄语:Кеты,英语:Kets),是居住在西伯利亚的一支操愒语的民族。在沙皇俄国时期,被称作“奥斯蒂亚克人(汉特人)”,并未从其它西伯利亚民族中区分出来。随后,又被称作“叶
  • 敦达加自治市敦达加自治市(拉脱维亚语:Dundagas novads),是拉脱维亚的一个自治市,设立于2009年。位于该国西北部,人口4878人,面积675.6平方公里,人口密度约7.2人/km2。
  • 大臣官房大臣官房(日语:大臣官房/だいじんかんぼう)是日本行政机关中,内阁府及各省必定设置的内部部局之一。设于厅内的称为长官官房。大臣官房是掌管府省厅组织管理、内部部局间联络协调