1.try Catch kann Ausnahmen abfangen, die von der oberen Ebene ausgelöst werden
2.finally ist ein Block, der schließlich ausgeführt wird, unabhängig davon, ob Try oder Catch eine Rückgabe haben
3.try Kann auch verwendet werden: Fangen Sie die Throw-Ausnahme innerhalb der Callback-Funktionsklasse call_user_func_array
4 ab. call_user_func_array kann nur die statische Methode der Klasse aufrufen, und Sie können in dieser statischen Methode ein neues Objekt erstellen
5. Ohne etwas anzupassen Im Falle von Fehlerbehandlungsfunktionen können Sie versuchen, Fehler in PHP selbst nicht zu erfassen, einschließlich Hinweiswarnungsfehler und anderen Ebenen
Der folgende Code ist Teil des Projekts, das mehrere Ebenen durchlaufen hat von Anrufen und Rückrufen
<?php class Oss { public static function connect() { throw new Exception("oss connect error"); return 'oss object'; } } //调用三层 class S3{ public static function connect() { //throw new Exception("s3 connect error"); return 's3 object'; } } //调用二层 function callReader($class,$url){ try{ $conn=call_user_func_array(array($class, "connect"),array()); return $conn; }catch(Exception $e){ throw $e; }finally{ //无论如何都会执行,在这记录日志 } } //调用一层 function getMessage(){ $conn=null; try { $conn=callReader('Oss',"http://xxxx"); } catch (Exception $e1) { $conn=callReader('S3',"http://xxxx"); } return $conn; } //最先的入口 try{ var_dump(getMessage()); }catch(Exception $e){}
[Kursempfehlung: PHP Video Tutorial]
Das obige ist der detaillierte Inhalt vonVerwendung von Try Catch in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!