Veritabanına bağlanmak mümkün olmayan, muhtemelen ciddi bir sorundur - Ben bu istisnaların kullanımı için önemli bir hedef düşünün.
Eğer sorun muhtemelen, özenle ele alınması gereken veritabanına bağlanmak mümkün değildir ve muhtemelen neyin yanlış gittiğini hakkında bir şeyler oturum istiyorsanız, ve bu sorunu önlemek için kod daha iyi yapabilmek için yanlış gittiği takdirde gelecek.
Sadece hızlı bir kroki kadar istisnaları kullanmak için bir yoldur.
file view_cart.php
<?php
try
{
require_once('bootstrap.php');
require_once('cart.php');
require('header.php');
// Get the items in the cart from database
$items = Cart::getItems();
// Display them to the user
foreach ($items as $item)
{
echo $item->name.', '$item->price.'<br />';
}
}
catch (Exception $e)
{
// Log the exception, it will contain useful info like
// the call stack (functions run, paramaters sent to them etc)
Log::LogException($e);
// Tell the user something nice about what happened
header('Location: technical_problem.html');
}
require('footer.php');
file bootstrap.php
<?php
$result = mysql_pconnect("server", "tator_w", "password");
if ($result === false)
{
throw new Exception('Failed to connect to database');
}
// Select database
// Setup user session
// Etc