Skip to main content
 首页 » 编程设计

Python之是否引发异常

2025年05月04日17langtianya

这是我的问题的描述:

我的任务是获取一堆表名并在它们前面加上前缀,如下所示:

PREFIX = 'foo_'; 
 
prefixed_tablename = "".join([PREFIX, tablename[:27]]) 

(表名不能超过 30 个字符(某些 Oracle DB 限制),这就是为什么我只取前 27 个字符的原因)。

现在,有时这会导致重复的表名(如果只有表名的最后 3 个字符不同)。

我可以实现一些奇特的算法来创建唯一的表名,但目前检测重复名称就足够了。所以我考虑将它们存储在一个集合中,如果创建一个带前缀的表名,请检查该集合以查看是否已经存在这样的表名。

现在,对于真正的问题:

如果检测到重复,我需要停止我的脚本执行,显示某种错误。在 Java 中,我只会引发异常,但我不知道这是否是 Python 中的首选方式。

我应该引发异常,还是只打印一条消息并退出?

请您参考如下方法:

27 + 4 = 31。

为什么不使用异常?如果您稍后不想退出,而是捕获异常并在外部范围内对其进行处理,那么与使用 sys.exit 相比,您需要做的更改更少。 .