异常链

✍ dations ◷ 2025-09-11 17:29:20 #软件设计模式

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

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

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

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

相关

  • 运动辅助区运动辅助区(英:Supplementary Motor Area, SMA 或 Supplementary motor cortex, SMC)是大脑皮质的一个主要与运动功能相关的区域。在解剖位置上来说,SMA位于脑半球的内侧面,和初
  • 电子器件电子元件(electronic component),是电子电路中的基本元素,通常是个别封装,并具有两个或以上的引线或金属接点。电子元件须相互连接以构成一个具有特定功能的电子电路,例如:放大器、
  • 盔甲盔甲,是人类在武力冲突中保护身体的器具,也叫甲胄、铠甲。其中盔与胄都是指保护头部的防具;铠与甲是保护身体的防具,而主要是保护胸腹的重要脏器之用。自从人类穿上皮衣抵挡敌人
  • endoderm外胚层(Ectoderm)是胚胎最外的一层胚层。在绘图中,外胚层传统上用蓝色表示。原始外胚层在神经胚形成的过程(神经系统形成的开始)中形成中胚层。 下列器官由外胚层形成:Ektoderm一
  • 灵山灵山县在中国广西壮族自治区南部,是钦州市所辖的一个县。总面积为3550平方公里,2010年人口为156.5万。位于广西南部,钦州市东北部,县城距南宁市120公里,距钦州市100公里,距北海市1
  • 艸部艸部,为汉字索引中的部首之一,康熙字典214个部首中的第一百四十个(六划的则为第二十三个)。在正体中文中,艸部归于六划部首,而在简体中文中,将汉字部首规范的《汉字部首表》中,将“
  • 梅德福 (俄勒冈州)梅德福(Medford)位于美国俄勒冈州南部,是杰克逊县的县治。该市最高点乐声安峰高1090米,是普雷斯科特公园的一部分。根据2000年美国人口普查,梅德福共有63,154人,其中白人占89.99%
  • 穆斯塔法·阿布·沙古尔穆斯塔法·阿布·沙古尔(阿拉伯语:مصطفى ابوشاقور غيت ابوشاقور‎ ;1951年2月15日出生) 是一名利比亚政治家、电气工程教授和企业家。2012年9月12日被
  • 染井吉野樱染井吉野樱(学名: × 'Somei-yoshino'),又名东京樱花、日本樱花,是一种樱花的园艺品种,为蔷薇科樱属的植物,产于日本以及移植于中国的北京、南昌、西安、青岛、南京等地。于江户时
  • 弹道无痕《弹道无痕》是改编自徐贵祥同名小说的电影,故事讲述石平阳从铁匠的儿子一步步成长为一名优秀基层炮兵指挥员。