问题标签 [deprecation-warning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
251088 浏览

php - 关闭 PHP 5.3 中已弃用的错误

我的服务器正在运行 PHP 5.3,而我的 WordPress 安装正在向我吐出这些错误,导致我的 session_start() 中断。

这很烦人,但我不想关闭屏幕错误报告。如何禁用这些令人讨厌的已弃用警告?

我正在运行 WordPress 2.9.2。

0 投票
7 回答
31196 浏览

python - 如何警告类(名称)弃用

我已经重命名了一个作为库一部分的 python 类。我愿意在一段时间内保留使用它以前的名称的可能性,但想警告用户它已被弃用,将来会被删除。

我认为为了提供向后兼容性,使用这样的别名就足够了:

我不知道如何以OldClsName优雅的方式将其标记为已弃用。也许我可以创建OldClsName一个发出警告(到日志)并NewClsName从其参数(使用*argsand **kvargs)构造对象的函数,但它看起来不够优雅(或者可能是?)。

但是,我不知道 Python 标准库弃用警告是如何工作的。我想可能有一些很好的魔法来处理弃用,例如允许将其视为错误或根据某些解释器的命令行选项静音。

问题是:如何警告用户使用过时的类别名(或一般的过时类)。

编辑:函数方法对我不起作用(我已经尝试过),因为该类有一些类方法(工厂方法)在OldClsName定义为函数时无法调用。以下代码不起作用:

因为:

继承是我唯一的选择吗?老实说,它在我看来不是很干净——它通过引入不必要的派生来影响类层次结构。此外,OldClsName is not NewClsName在大多数情况下这不是问题,但在使用库的代码编写不佳的情况下可能会出现问题。

我还可以创建一个虚拟的、不相关的OldClsName类并为其中的所有类方法实现构造函数和包装器,但在我看来,这是更糟糕的解决方案。

0 投票
2 回答
11404 浏览

javascript - SyntaxError: 'with' 语句在严格模式下无效

当我尝试从断点执行任何操作时,我在 Safari 控制台中收到此错误。错误报告在这里:https ://bugs.webkit.org/show_bug.cgi?id=83267

有人有解决方法吗?由于我假设与此有关的原因,javascript 已停止在我的 safari 网站上运行。

编辑:错误报告还包含重现步骤。

另一个编辑:我没有使用“with”语句。这是来自 Safari 控制台的错误。

0 投票
2 回答
11155 浏览

python - DeprecationWarning: BaseException.message 自 Python 2.6 起已弃用 exception.__class__, exception.message,

谁能告诉我在这个 Django 中间件中收到警告背后的实际原因,我该如何解决这个问题?

我收到这条消息“ DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 exception.class , exception.message ,

0 投票
6 回答
38053 浏览

rest - HTTP 响应标头通知客户端已弃用 API 的约定

我正在升级我们的 REST API 端点,并且我想在客户端调用将被弃用的端点时通知他们。
我应该在响应中使用什么标头,并带有类似于“此 API 版本已被弃用,请查阅最新文档以更新您的端点”的消息

0 投票
3 回答
7291 浏览

javascript - JavaScript 库是否应该使用已弃用的注解?

显然,何时弃用和何时删除取决于开发人员,但我想知道如何警告开发人员 JavaScript 函数已被弃用?

一些流行的语言(JavaC#Python)以某种形式支持语言级别的弃用。

但是,对于 JavaScript,我找不到任何标准方法可以让开发人员指示函数已被弃用(在代码中)。我能做的最好的就是遵循(大量)发行说明。

例如,grepping jQuery 1.8 的完整源代码显示最少的内联注释:

W3C 和 MDN 似乎没有标准方法或提供有关如何处理此问题的建议。

我发现的最好的是 JSDoc 的@deprecated标签。

有谁知道 JavaScript是否有我忽略的弃用注释?有没有更好或更常见的方法来做到这一点?

0 投票
2 回答
4329 浏览

python - Django中的详细弃用警告

从 django 1.3 升级到 django 1.5 后,我DeprecationWarnings在测试运行期间开始看到这些:

path_to_virtualenv/lib/python2.6/site-packages/django/http/request.py:193:DeprecationWarning:HttpRequest.raw_post_data 已被弃用。请改用 HttpRequest.body。

我在项目内部进行了搜索,但raw_post_data一无所获。所以没有直接在项目中使用。然后,我手动检查INSTALLED_APPS并发现该raven模块仍在使用raw_post_data,这是原因,但是..

DeprecationWarning是否可以在试运行期间查看原因?如何使这些警告更详细?

0 投票
3 回答
31264 浏览

javascript - 我应该如何在 JS 中将方法标记为“过时”?

我正在重构一个相当大的 JS 文件,其中包含许多不相关的方法,该文件将根据它们的用法将这些方法重新组合在一起,并根据需要重命名其中的一些(以防止产生误导性名称)。

但是,实际上使用此代码的大多数网页都分布在不同的代码分支中,这使我无法进行简单的查找和替换。我可以在所有不同的分支中执行此操作,但这需要同时在 30 多个分支中进行维护,或者一旦更改合并到其他分支中(由我或其他团队成员),可能忘记执行重命名。

如果这是 C#,我可以用 [Obsolete] 标记该方法,它会根据需要标记必要的更改,所以我正在寻找一些等效的东西。在一段时间内,我仍将通过将调用重定向到新方法来提供旧界面的功能,但我想“强制”人们在出于其他原因在页面上工作时切换到新界面。

debugger; 除了在每个方法中添加语句和详细注释以使其在开发时中断但在生产中不会中断之外,还有其他方法可以做类似的事情吗?

0 投票
1 回答
1715 浏览

ios - 满足弃用 sizeWithFont:constrainedToSize 到 boundingRectWithSize:options:attributes:context:

我怎样才能转换

0 投票
2 回答
1091 浏览

python - 有没有办法根据 django 版本检查功能弃用?

由于某些功能在新版本的 Django 中被弃用,有没有办法在 github 上的现有项目代码上检查这些功能。

一个工具可以做到这一点。有没有办法通过测试用例来检测它。

是否有可能对 python 版本做同样的事情。

我想一种方法可能是使用 tox 运行特定版本的 django/python,然后检查错误。

我只是在寻找更优雅或更直接的东西,比如“注意这个功能已被弃用”,这可以用像 Java 这样的强类型语言来完成。

如果有人想构建这样一个工具,如果可能的话,可以从什么开始。