【问题标题】:Ommiting $ex variable in try-catch block在 try-catch 块中省略 $a 变量
【发布时间】:2019-02-02 20:00:42
【问题描述】:
try {           

} catch (\Exception $ex) {

}

在我的示例用例中,当\Exception 被捕获时,我不需要来自$ex 的任何信息。当\Exception 被捕获时,我只需要做一些事情。我不需要来自$ex 的任何东西。

现在省略 $ex 会导致语法错误,继续使用它会使我的 IDE (Netbeans) 发出警告。

除了$ex = '';之外,还有什么方法可以省略$ex

【问题讨论】:

    标签: php exception try-catch


    【解决方案1】:

    您不能在 catch 语句中省略提示参数 \Exception $ex,因为该块需要知道它要处理的异常类型,即使您的代码不在乎。

    但是,您根本不需要在 catch 块中引用它。如果有关未使用变量的 NetBeans 警告提示真的让您感到困扰,您可以随时通过转到

    来消除该类的所有提示
    1. 工具 -> 选项
    2. “编辑器”标签
    3. “提示”子选项卡
    4. 语言:PHP
    5. 取消选中列表中的“未使用的变量”

    (当然,如果您有其他未使用的变量,您将不会看到警告,但如果您只是希望提示不是警告,您可以随时将“显示为:”设置更改为“信息”。)

    【讨论】:

    • 注意:我关心的是要处理什么类型的异常,而不是$ex的内容。
    • 你使用的每个catch语句的情况都是一样的:变量必须在语句中命名,但不需要在块中使用。
    【解决方案2】:

    在 php 中有处理错误的方法。由于那个捕获期望有存储异常。所以你必须提供$ex。但是你可以在你的情况下把里面的东西留空。 要记住这是语法。

    try {
     // run your code here
    }
    catch (exception $e) {
     //code to handle the exception
    }
    finally {
     //optional code that always runs
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多