3
有异常层次结构的理论吗?
我熟悉许多编程语言,它们以某种方式具有异常,但是我亲眼目睹了两种“病理性”趋势。 似乎没有常见的异常模式或层次结构。每种语言基本上都会发布自己的版本,如果例外将其纳入标准,则人们在标准中发现的例外种类将相当随意(大多数是在创建语言工具时实现的,例如从中读取源代码)字符串或调用调试器的异常,或找不到文件时发生的异常等) 用这种语言定义的异常很少被用户程序重用。通常会有一个或两个流行的例外(例如,“未实现”)。尽管大多数时候程序员会创建自己的异常。(例如,将其与创建新的数字类型或新的集合类型进行比较)。 这对我来说似乎是一个可怕的遗漏。没人知道用户程序中将需要哪种错误?我希望有一种很好的层次结构,类似于数字类型,集合,对象系统等。 更糟糕的是,Goolge和Wikipedia在此问题上提供的帮助很少。到目前为止,我只找到了一篇关于函数异常的论文,该论文的开头是一段: 本文认为,惰性函数式编程不仅不需要内置的异常处理机制,而且还为开发和转换使用异常的程序提供了强大的工具。 (异常的功能理论,Mike Spivey,1988年) 但是我认为例外是好的。我不想转换使用异常的程序,相反,我想减少异常的使用。 问题: 有例外理论吗?如果是这样,它叫什么?概述其基础的基石是什么(如果有)?