![]() |
1
28
这样做在操作上没有什么错:
事实上,我在编写一些代码的第一段时经常这样做。这样做的主要问题是,代码的客户端很难精确地处理异常;为了捕获特定的异常,他们必须对捕获到的异常对象进行字符串匹配,这显然是脆弱而乏味的。因此,最好引入您自己的ValueError子类;这仍然可以作为ValueError捕获,但也可以作为更具体的异常类捕获。 一般的经验法则是,只要您有如下代码:
您可能应该将其替换为以下内容:
您可以说异常类型指定了 出错,而消息/属性指定 怎样 |
![]() |
2
3
很好。 但是,您可能希望创建自己的子类来帮助区分内置异常
提高KeyError的子类可以更容易地看到实现中存在错误,而不是密钥不在对象中 |
![]() |
3
3
也许有人看到了你的问题,并且已经修复了文档。
|
|
lfox · 如果列中不存在某个值,则停止代码执行 2 年前 |
![]() |
zaen · 将值传递到异常字符串消息中 2 年前 |
![]() |
Zephyr · 如何在双ListView选择系统上实现过滤器? 6 年前 |
![]() |
Aave · 错误数组长度的特定异常 6 年前 |