对于那些没有做过异常链的人。这是一个例子。
这允许您将先前的异常添加到下一个异常中,并最终为您提供有关发生了什么的详细信息。这在大型应用程序中很有用。
<?php
function theDatabaseObj(){
if( database_object ){
return database_object;
}
else{
throw new DatabaseException("无法连接到数据库");
}
}
function updateProfile( $userInfo ){
try{
$db = theDatabaseObj();
$db->updateProfile();
}
catch( DatabaseException $e ){
$message = "用户 :" . $userInfo->username . " 无法更新他的个人资料信息";
throw new MemberSettingsException($message,12,$e);
}
}
try{
updateProfile( $userInfo );
}
catch( MemberSettingsException $e ){
echo $e->getTraceAsString();
}
?>