【问题标题】:php error handling within a while loopphp在while循环中的错误处理
【发布时间】:2013-05-18 07:14:55
【问题描述】:

我有以下代码来使用 WMIC 命令获取电池状态。我从 mysql 数据库获取我们的网络所有 IP 地址。当代码运行时..如果远程计算机的 RPC 服务器不可用,它会抛出一个致命错误。我是什么想要的是如果 IP 有任何错误,显示该 IP 和自定义错误消息并继续下一个 IP 而不会从那里停止。

$sel="select * from nmap_hosts_xml";
    $sel_r=mysql_query($sel);
    while($row1=mysql_fetch_array($sel_r))
    {
        $ip=$row1['address_addr'];
        $os=$row1['os_osmatch_name'];


        $obj = new COM ( "WbemScripting.SWbemLocator" ); 
$obj=$obj->ConnectServer($ip, "root/CIMV2","domain/Username","Password");
$battery=   $obj->ExecQuery("Select * from Win32_Battery");

foreach ( $battery as $wmi_bat )
{
    $bat = $wmi_bat->BatteryStatus;
}

echo $ip." ".$bat."<br>";

    }

【问题讨论】:

    标签: php wmic


    【解决方案1】:

    在循环内添加一个try/catch 块。

    【讨论】:

    • 嗨@niche 我对php错误处理不太熟悉。你能指导我在while循环中使用try/catch的正确例子吗?
    • Here 是与您的问题相关的另一个线程的链接。在您的情况下,我会将 try/catch 块 inside 放在循环中,因为您正试图通过 IP 输出迭代的结果。
    • tnx @niche。我已经使用您的链接解决了问题。我将 try/catch 放入循环中。
    猜你喜欢
    • 2015-02-07
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    相关资源
    最近更新 更多