为PHP创建异常,使页面不会崩溃

为PHP创建异常,使页面不会崩溃,php,web-services,error-handling,exception-handling,crash,Php,Web Services,Error Handling,Exception Handling,Crash,我正在尝试修复我的网站的一个问题。它使用持有多个订阅服务的第三方 索引页面显示了其中的一些服务,但它只是页面的一小部分,但是当连接到第三方的服务器崩溃时,我的整个网站都崩溃了。我使用web服务从数据库获取数据,并使用PHP使用web服务 我认为我有正确的异常来捕获任何错误,因此如果Web服务关闭,它不会使我的网站崩溃。任何人都可以看看下面的代码,看看我能做些什么来防止崩溃 public function getIncomingReservations($outcome="") { $ht

我正在尝试修复我的网站的一个问题。它使用持有多个订阅服务的第三方

索引页面显示了其中的一些服务,但它只是页面的一小部分,但是当连接到第三方的服务器崩溃时,我的整个网站都崩溃了。我使用web服务从数据库获取数据,并使用PHP使用web服务

我认为我有正确的异常来捕获任何错误,因此如果Web服务关闭,它不会使我的网站崩溃。任何人都可以看看下面的代码,看看我能做些什么来防止崩溃

public function getIncomingReservations($outcome="")
{
    $html_code = '';
    $amount = 0;
    $reservationDetails = '';
    $reservationTitle = '';
    $reservationURL = '';
    $reservationDate = '';
    $noreservationsToShow = true;
    try
    {
        $reservations = $this->webService->getAllreservations();
        if(isset($reservations->Hotel))
        {
            if(!is_array($reservations->Hotel))
            {
                $reservations->Hotel = array($reservations->Hotel);
            }
            $html_code = '<dl>';
            foreach($reservations->Hotel as $reservation)
            {
                if($amount >= WebServicesWidgets::$MAX_incoming_reservations)
                {
                    break;
                }
                $reservationDetails = $this->webService->getreservationDetails($reservation->HotelId);
                if($reservationDetails->haseBusiness === true && $reservationDetails->isValidated === true)
                {
                    $noreservationsToShow = false;
                    $reservationTitle = $reservationDetails->shortName;
                    $reservationURL = $this->EWEBSITE_URL . $reservationDetails->HotelId;
                    $reservationDate = $reservationDetails->startDate;
                    $html_code .= '<!-- ' . $reservationDetails->HotelCode . ' | ' . $reservation->HotelId . ' -->';
                    $html_code .= '<dt><a href="'. $reservationURL . '">' . $reservationTitle . '</a></dt>';
                    $html_code .= '<dd>' . date('F j - g:i A', $reservationDate) . '</dd>';
                    ++$amount;
                }
            }
            $html_code .= '</dl>';
        }
        else
        {
            $html_code = WebServicesWidgets::$NO_reservationS;
        }
    }
    catch(Exception $e)
    {
        $html_code = WebServicesWidgets::$FAIL_MSG;
    }
    if($noreservationsToShow)
    {
        $html_code = WebServicesWidgets::$NO_reservationS;
    }
            if(empty($return)){
                echo($html_code);
            }
            else {
                return $html_code;
            }
}

你发布的代码是什么语言?它看起来不像javascript?如果这是产生javascript的代码,你能举一个不起作用的例子吗?崩溃到底是什么意思?网页是否显示任何错误?您是否在日志中看到错误?网页变绿了,真的生气了吗?@ArtjomB。我们得到的错误只是一个简单的500内部服务器错误。例如,两天前,服务器空间不足,停止运行,而当网站运行正常时,由于无法访问服务器,整个网站都崩溃了。到目前为止,我还没有把它变成绿色。