gpt4 book ai didi

coldfusion - 将 CFTRY 标签包裹在所有内容周围

转载 作者:行者123 更新时间:2023-12-03 07:45:30 26 4
gpt4 key购买 nike

我们有一个允许用户上传文件的系统,我们遍历该文件,然后制作另一个文件。上传文件的用户是登录用户。

问题是文件包含敏感数据,所以我们必须删除它们。正如您可以想象的那样,有几个地方可以将更多信息写入文件并读取文件。有时此页面上会发生错误(通常与 CFFILE 有关)。

所以我的问题是,将所有代码(大部分代码)放在一个巨大的 CFTRY 中是否可以?然后捕获发生的任何异常,然后在 CFCATCH 中运行另一个 CFTRY 以删除 2 个文件?(阅读更新)我不太担心性能,因为这个过程不是每天完成一百万次,也许一个月 3 次.

这是确保文件被删除的可接受做法吗?

更新 我不会删除 CFCATCH 中的文件。我会先检查是否存在。然后删除它们。

最佳答案

只要有保证,就可以使用 try/catch。如果您将 try/catch 放在 101 行代码左右而不是允许的 100 行代码,那么没有 CFML 警察会在半夜将您拖走。

但是 - 正如@Tomalak 所说 - 您的措辞有点暗示代码可以进行一些重构。你说你不能重构代码,但是添加异常处理已经是重构,那么显然你可以做到。所以要正确地做。隔离一些功能,并将它们放入单独的模块中(我的意思不是像 <cfmodule> 所说的那样,我指的是泛指该术语),无论是 UDF,一个或多个 CFC 中的方法(它们可能是不同的,所以可能不适合单个 CFC),甚至只包含文件。以后可以更好地重构它们。开发是迭代和循环的,请记住:您不需要每次进行更改时都完美无缺。一方面,“完美”的定义随着需求的变化而变化。但是您应该在维护代码时始终致力于改进代码。而且我不认为简单地在整个事情上打一个 try/catch 就意味着改进,更像是“这段代码失控”。

我可以建议的另一件事是进行改进并将其发布到 https://codereview.stackexchange.com/ ,并了解其他人的想法。我不知道该网站上有多少 CFers,所以当你这样做后,在 Twitter 上发布一些标有#ColdFusion 的东西可能会很好。

关于coldfusion - 将 CFTRY 标签包裹在所有内容周围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14517139/

26 4 0