<?php
try {
$attrs = $xml->attributes();
$code = $attrs['_Code'];
}
catch (Exception $e)
{
$code = '';
}
?>
私を取得します:
致命的なエラー:6行目の非オブジェクトのメンバー関数attributes()の呼び出し
try-catchでラップされたコードでエラーがスローされるのはなぜですか?
注:次のコードを使用すると、このエラーを回避できます。(質問はエラーを回避することではありませんが、なぜそれがキャッチされないのですか?それでも私はエラーのないコードをとにかく共有すると思いました)
if (is_object($xml) && method_exists($xml,'attributes')) {
$attrs = $xml->attributes();
$code = !empty($attrs['_Code'])?$attrs['_Code']:'';
}
else {
$code = '';
}