2016-08-25 9 views
0

スクリプト全体をクラッシュせずにPHP関数のエラーを処理したいと考えています。クラッシュのないPHP関数でのエラー処理

まずそれがこのエラーをプッシュ:

Notice: Trying to get property of non-object in E:\amir\1magazine\tools\xampp\htdocs\CairoHash\assests\plugins\content_handling.php on line 74

私はエラーが何のためにあるのかを知っているが、私は私のスクリプトをクラッシュすることなく続けていきたいです。

私はifを試しましたが、期待通りに機能しませんでした。

$count = count($selector); 
$order = substr($order, 0 , -1); 
switch ($count) 
{ 
    case 1: 
     $i = $html->find($selector);     
     break; 
    case 2: 
     $i = $html->find($selector[0],$selector[1]); 
     break; 
    case 3: 
     /* ln 74 ->>> */  $i = $html->find($selector[0],$selector[1])->$selector[2]; 
     break; 
} 
if(isset($i)) 
{ 
    return $i; 
} 

このコードは$i変数を取得することになったが、私はそれが機能しなかったならば、クラッシュしていないと言う必要があります。

答えて

1

何かが設定されている場合は、前もって確認するだけです。

Notice: Trying to get property of non-object

on line 74は、find($selector[0],$selector[1])がオブジェクトを返さないことを意味します。だから代わりにあなたのチェックをすることができます。この特定のエラーを修正する必要がありますが、あなたは他のケースについても同じ問題が発生する可能性がありますので、あなたはfind()はその結果を使用する前に、すべてのcaseに成功したことを確認する必要があります

case 3:   
    $x = $html->find($selector[0],$selector[1]); 
    if ($x) $i = $x->$selector[2]; 
    break; 

+0

ありがとうございました:) –

関連する問題