我正在为我的最后一年项目做一些研究。它主要是关于创建一种更方便的方法来处理程序中抛出的异常。它通过为每种类型的Exception创建自定义处理程序来实现此目的。我想知道你/第三方软件与Exception相比,内置/标准库异常的处理频率是多少?
为什么我问的是两折:
我希望我的演示更加真实。我的项目有机会提供更多的帮助,而不仅仅是处理异常,所以如果有机会,我宁愿努力为这个工具提供更多的能力。鉴于此,我希望我的样本处理程序偏向“正确”方向。
它将影响我如何使用API来帮助创建更详细的异常和异常处理程序。
感谢您花时间阅读此废话。
编辑:
我会把它分解,因为我不认为我正在解释它。
错误抛出时会得到漂亮的小堆栈跟踪?我想尝试改进它,看看之前是否有什么东西可以表明它什么时候开始出错(因为某些错误可能需要为其他人制定不同的策略,而这就是定义处理程序的地方)。我想我能做到这一点。为了做到这一点,我需要相应地分配时间。我想知道我是否应该专注于解决内置错误或帮助人们为他们的例外定义他们的处理程序(也许这一点毫无意义,但在我问人之前我无法知道)。我会通过向人们询问他们的经历来做到这一点。
EDIT2:
我是个笨蛋,我的意思是错误而不是例外。我需要睡觉。
答案 0 :(得分:1)
无论你想回答什么,我都会回答你的具体问题:
内置/标准库的频率 处理例外情况 与你/ 3的例外比较 派对软件?
这取决于域名。一些领域有助于定义特定的例外(例如网络编程),而其他领域倾向于依赖内置(例如数学和科学计算)。处理的异常数量可能更倾向于“标准”异常,如TypeError或NameError,但更难错误通常不包含在内置函数中(很容易修复不正确的参数,无效输入或错字,这是NameError或TypeError等异常的常见原因,但是很难修复一个不是那么简单的错误。
因此,IMO,标准异常更为普遍,但用户,框架等定义的异常更有用/更重要(或任何你想称之为),因为它们代表了更复杂和相关的问题。
您可以随时查看一些流行的第三方Python模块(Google code是一个值得关注的好地方)并查看其中有多少定义了异常。