我正在为我的最后一年项目做一些研究。它主要是关于创建一种更方便的方法来处理程序中抛出的异常。它通过为每种类型的异常创建自定义处理程序来实现这一点。我想知道与您/第 3 方软件的异常相比,内置/标准库异常的处理频率是多少?
我问的原因有两个:
我希望我的演示更逼真。我的项目有机会提供更多帮助,而不仅仅是处理异常,所以如果有机会,我宁愿致力于为该工具提供更多功能。鉴于此,我希望我的样本处理程序偏向“正确”的方向。
这将影响我可以将 API 制作的详细程度,以帮助创建更详细的异常和异常处理程序。
感谢您花时间阅读这篇废话。
编辑:
我会分解它,因为我认为我没有正确解释它。
抛出错误时得到的漂亮的小堆栈跟踪?我想尝试改进它,看看之前是否有什么东西可以指示它何时开始出错(对于某些错误,其他错误可能需要不同的策略,这就是定义处理程序的用武之地)。我想我可以做到这一点。为了做到这一点,我需要相应地分配我的时间。我想知道我是应该专注于解决内置错误还是帮助人们为他们的异常定义处理程序(也许这一秒毫无意义,但在我问别人之前我无法知道)。我会通过询问人们的经历来做到这一点。
编辑2:
我是个笨蛋,我的意思是错误而不是异常(exception)。我需要 sleep 。
请您参考如下方法:
不管你想用这个答案做什么,我都会回答你的具体问题:
how often are builtin/standard library Exceptions are dealt with in comparison to Exception by you/3rd party software?
这取决于领域。有些领域适合自己定义特定的异常(例如网络编程),而其他领域则倾向于依赖内置函数(例如数学和科学计算)。处理的异常数量可能更倾向于“标准”异常,如 TypeError 或 NameError,但更难的错误通常不包含在内置函数中(很容易修复不正确的参数、无效输入或拼写错误,这是导致 NameError 或 TypeError 等异常的常见原因,但很难修复不是由如此简单的原因引起的错误。
因此,IMO,标准异常更为普遍,但用户、框架等定义的异常更有用/重要(或任何你想调用它的东西),因为它们代表更复杂和相关的问题。
您始终可以查看一些流行的第 3 方 Python 模块(Google code 是个不错的地方),看看其中有多少定义了异常。
