<?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 = '';
}