对于那些没有进行异常链的人。这是一个例子。
这允许您将之前的异常添加到下一个异常中,并最终获得有关发生情况的详细信息。这在大型应用程序中非常有用。
<?php
function theDatabaseObj(){
if( database_object ){
return database_object;
}
else{
throw new DatabaseException("Could not connect to the database");
}
}
function updateProfile( $userInfo ){
try{
$db = theDatabaseObj();
$db->updateProfile();
}
catch( DatabaseException $e ){
$message = "The user :" . $userInfo->username . " could not update his profile information";
throw new MemberSettingsException($message,12,$e);
}
}
try{
updateProfile( $userInfo );
}
catch( MemberSettingsException $e ){
echo $e->getTraceAsString();
}
?>