如何使 PhpStorm 显示用 @method 声明的方法抛出的异常(或从魔术方法 docblock 继承它们)?

2023-11-29

假设以下示例代码:

/**
 * @method bool someMethod()
 */
class MyClass
{
    /**
     * @throws MyClassException
     */
    public function __call($method, $args)
    {
        if ($this->someCheck()) {
            throw new MyClassException();
        }
    }
}

//...
try {
    (new MyClass())->someMethod();
} catch (MyClassException $e) {  // Reported by PHPStorm as not thrown!
    // of course the exception is properly caught
}

如何让 IDE 检测由声明的方法抛出的异常@method文档块?想知道这是否可能做到,如果不可能的话——我的选择是什么?

这好像是@throws在这种情况下,在魔术方法中声明的内容将被完全忽略。当然我可以禁用检查,但这对我来说不是干净的解决方案......


它说在一段时间内是可能的(如果我正确阅读票证的话,某些 2018.1.x 版本),但后来“由于可用性问题”,它在 2018.1.3 被回滚。

我同意这一点——并不是每个人都会乐于看到每个神奇方法调用都出现未处理的异常警告(例如 Laravel 经常使用它)——因为并非每个神奇方法都可以抛出异常。

Anyway: https://youtrack.jetbrains.com/issue/WI-39284-- 观看此票证(星标/投票/评论)以获取有关任何进展的通知。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 PhpStorm 显示用 @method 声明的方法抛出的异常(或从魔术方法 docblock 继承它们)? 的相关文章

  • 管理产品页面自定义字段显示在购物车和结账中

    我在产品页面的常规设置选项卡上的 WooCommerce 管理中创建了一个自定义字段 以插入几天的制造时间 我想在购物车和结帐页面上每个产品名称上方显示此自定义字段值 这是我的代码 Insert a Custom Admin Field f
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时
  • PHP使用c++扩展会更快吗?

    我现在正在构建一个推荐系统 一个网站 我想使用PHP作为脚本语言 推荐系统可能会进行复杂的矩阵计算或其他操作 考虑到性能 我想用C 来做矩阵计算或者其他复杂的计算 所以我需要PHP调用C 函数 获取结果并进行其他处理 我知道我可以使用 PH
  • PHP的spl_autoload_register如何解决与require_once的循环依赖?

    PHP的spl autoload register如何解决与require once的循环依赖 循环依赖可以解决某些情况 但不是全部 让我们从一个失败的例子开始 假设我们在不同的文件中定义了三个类 cat php class Cat ext
  • 如何编写一个 SQL 查询来计算每月和每年的行数?

    有谁知道如何查询 vbulletin 数据库来生成每月 每年注册数量的报告 以获得如下结果 MM YYYY Count 01 2001 10 02 2001 12 感谢下面的这些答案 我的最终版本有效如下 SELECT COUNT as R
  • 如何使用 Laravel 5.3 注销并重定向到登录页面?

    我正在使用 Laravel 5 3 并尝试实现身份验证系统 我用了php artisan命令make auth来设置它 我根据我的布局编辑了视图 并将其重定向到我的仪表板页面而不是主页 在设置中设置为默认值 现在 当我尝试注销时 它向我抛出
  • 将加载 gif 添加到简单脚本中

    我对 Javascript 真的很陌生 但我已经有了这个加载 url 内容的脚本 一切都工作正常 我使用按钮上的 onClick 方法调用 plannerSpin 函数 但是当这一切发生时 我将如何显示动画 gif var xmlHttp
  • 连接数据库错误类型:2002:权限被拒绝

    我正在尝试使用以下脚本连接数据库 cxn test php
  • 如何使用Google API PHP SDK获取用户信息

    我正在尝试为拥有 Google 帐户的用户添加登录选项到我的网站 我已经能够实现这个 Facebook 但在使用 Google 获取用户帐户信息时遇到问题 我正在使用位于此处的 Google PHP SDK https github com
  • Gmail 搜索怎么这么快?

    搜索这么多字符的最有效方法是什么 你怎么认为 假设网站是用 PHP 和 MySQL 构建的 我应该学习什么才能尽可能有效地构建它 有什么我应该学习的算法吗 文本索引算法 https stackoverflow com questions 4
  • S3 上上传文件的 MIME 类型

    如何更改 Amazon S3 上上传文件的 MIME 类型 我尝试过http docs amazonwebservices com AWSSDKforPHP latest m Amazon S3 更改内容类型 http docs amazo
  • 我可以使用 vim “star” 搜索来搜索 PHP 类成员和方法吗?

    vim 星号 星号搜索 help star 是一个很棒的功能 它可以让您找到光标所在单词的下一个出现位置 不幸的是 它将美元前缀视为字符串的一部分 因此如果我在类名中的 SearchTerm 上方按 它会在注释中找到 SearchTerm
  • 从 array_map 匿名函数内部调用类方法

    我正在尝试从一个对象中调用我的对象的方法之一array map匿名函数 到目前为止 我收到了预期的错误 致命错误 不在对象上下文中时使用 this 我知道为什么我会收到此错误 我只是不知道如何实现我想要的目标 有人有任何建议吗 这是我当前的
  • 如何只允许从我的 iOS 应用程序访问我的 MySQL 数据库? (使用webapp作为数据库的网关)

    我的 iOS 应用程序需要连接到 mysql 服务器 为了实现这一目标 我想创建一个 Web 应用程序 充当客户端应用程序和服务器端数据库之间的中间人 我担心的是 有人可以简单地找出我的应用程序使用的 URL 并传递他们自己的 URL 参数
  • PHP:如何使用 nl2br() 和 HTML Purifier 保持换行?

    Issue 使用时HTML 净化器 http htmlpurifier org 为了处理用户输入的内容 换行符不会被转换为 br tags 考虑以下用户输入的内容 Lorem ipsum dolor sit amet This is ano
  • 处理照片上传的最佳方式是什么?

    我正在为一个家庭成员的婚礼制作一个网站 他们要求的一个功能是一个照片部分 所有客人都可以在婚礼结束后前往并上传他们的照片 我说这是一个很棒的想法 然后我就去实现它 那么只有一个问题 物流 上传速度很慢 现代相机拍摄的照片很大 2 5 兆 我
  • MySQL 查询按父级排序然后子级排序

    我的数据库中有一个页面表 每个页面可以有一个父页面 如下所示 id parent id title 1 0 Home 2 0 Sitemap 3 0 Products 4 3 Product 1 5 3 Product 2 6 4 Prod
  • 单击保存文件

    我希望能够通过单击下载 csv 文件 而不是在浏览器中打开 我把这段代码 a href file csv download file a 但单击它会在浏览器中打开 v 文件 在本地主机中 当我单击链接时 它正在下载 但在服务器上时 它在浏览
  • 在 Angular 6 中添加 Xsrf-Token 时出现问题

    通过 API 提交的表单中的数据已成功发布 但是将 X CSRF TOKEN 添加到标头并设置后withCredentials true结果数据未发布到名为的脚本insert php Error 加载失败http localhost sim
  • C++ 中是否有与 PHP 的explode() 函数等效的函数? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 中分割字符串 https stackoverflow com questions 236129 splitting a string in c 在 PHP 中 explode 函数将获取一个字

随机推荐

  • 使用 javascript 提取支持的 HTML 或 X11 颜色名称及其 RGB 值的列表

    有一些地方可以获取列表HTML or X11 颜色名称及其 RGB 等效项 例如我们可以发现 Aquamarine 是 70DB93 想必浏览器知道这些映射 有没有办法使用 javascript 询问浏览器并获取它支持的颜色名称列表 以及浏
  • SQL Server 连接超时

    我可以通过修改连接字符串来增加超时时间吗web config 是的 您可以附加 Connection Timeout 30给你的连接字符串并指定您想要的值 中设置的超时值Connection Timeout财产是一个以秒表示的时间 如果未设
  • Android ListView y 位置

    看起来 ListView 不像 ScrollView 那样公开它的 y 位置 换句话说 我需要记住 ListView 滚动到的确切位置 并在返回活动时设置它 只是为了澄清 我不需要所选的项目 这非常简单 我需要恢复 ListView 上精确
  • 而不是触发器来更新具有多个表的视图

    我试图找到一个示例 说明如何使用替代触发器更新多个表上的视图 也就是说 我想要更新该视图从中选择的多个表 我找不到任何例子 如果有人能告诉我如何做到这一点那就太好了 假设您在这里使用的是 SQLServer过于简单化 example CRE
  • 在回发时保留单选/复选框值?

    ASP 对象有一些我无法理解的东西 我在更新面板中有一个按钮 在同一页面上 我有一个复选框 一个单选按钮和一个文本框 在更新面板之外 当我单击按钮时 我可以访问所有这三个对象 文本框能够保留其文本值 但是当我检查选中状态时 单选 复选框总是
  • Pytorch 问题:当 num_workers > 0 时,我的 jupyter 卡住了

    这是我在 PyTorch 中的代码片段 当我使用 num workers gt 0 时 我的 jupiter 笔记本卡住了 我在这个问题上花了很多时间却没有任何答案 我没有 GPU 仅使用 CPU class IndexedDataset
  • 猫鼬发现返回奇怪的对象

    我当前的问题是 db collection find mongoose 命令 我对 mongoose mongodb 比较陌生 但我已经掌握了它的概念 这是我一直试图运行的测试代码 mongoose connect url function
  • 如何在 Ironpython 中使用 –X:Frames?

    Visual Studio 2010 Ironpython for net4 我想在ironpython中使用numpy 他们说我必须使用框架支持 因此 我应该在命令行上使用 X Frames 或 X FullFrames 运行 ipy 但
  • 在错误消息中显示行号

    在我使用过的大多数 MATLAB 实例中 每当我的代码中出现错误时 命令窗口中的错误消息都会显示行号 但是在我当前使用的计算机上 它仅显示以下内容 Subscripted assignment dimension mismatch 有没有办
  • C 中 bool 数据类型的 scanf 格式说明符

    我在 C std99 中使用 bool 数据类型 其定义在
  • Node.js 异常处理最佳实践

    几天前我刚刚开始尝试 Node js 我意识到每当我的程序中出现未处理的异常时 节点就会终止 这与我接触过的普通服务器容器不同 在普通服务器容器中 当发生未处理的异常时 只有工作线程会终止 并且容器仍然能够接收请求 这提出了几个问题 Is
  • Swift 块值错误

    我不断收到快速完成块错误 错误是 无法调用非函数类型的值 Array Array gt 下面还有一个错误的图像 这是代码 var blockFinih selectedTags Array
  • 用于二进制输出的 ostream_iterator

    我希望能够使用ostream iterator流式传输到二进制文件 但是ostream iterator uses a 格式化输出功能所以它会写 ASCII 而不是二进制 std ostream iterator是一个单遍 OutputIt
  • Kubernetes 和 AAD 身份验证

    在配置的 AKS 上 有一个 docker 容器 其中包含使用 AAD 身份验证的应用程序 基于本文还有配置的入口 API 运行良好 当我添加带有 https 前缀的 Azure Active Directory 应用程序注册回复 URL
  • 如何从外部服务异步调用 google 上的操作?

    我正在尝试使用 actionssdk 将 Google Home 连接到外部聊天机器人 我有一个 API 它接受用户输入并使用 Webhook 将其发送到我的聊天机器人 但我的聊天机器人以异步方式调用 API 的另一个端点做出响应 并且我无
  • Python mysql 使用变量来选择某个字段

    python 和 mysql 有一个棘手的问题 为了简单起见 以下代码返回变量 field 中的所有内容 它是一个字符串 例如 用户名 或 密码 options field userID entries cursor execute sel
  • 实现 GCM 时如何从 Android 应用程序调用服务器应用程序 servlet 来注册设备

    我正在尝试从 Android 开发者网站了解 GCM 我已经按照以下说明实现了客户端 Android 应用程序http developer android com google gcm client html和 http 服务器应用程序 不
  • 如何使用QWebChannel从python接收数据到js?

    我试图让我的 PyQt 应用程序与 JS 进行通信 但无法从 python 获取值 我在 python 端有两个插槽来获取和打印数据 在示例中 一个 int 从 JS 传递给 python python 加 5 并将其传回 然后 JS 调用
  • iPhone - 将视频显示为启动画面

    我需要在我的 iPhone 应用程序中将视频显示为闪屏 我正在使用以下代码 void setupMovie NSString moviePath NSBundle mainBundle pathForResource iphone ofTy
  • 如何使 PhpStorm 显示用 @method 声明的方法抛出的异常(或从魔术方法 docblock 继承它们)?

    假设以下示例代码 method bool someMethod class MyClass throws MyClassException public function call method args if this gt someCh