Witam,
Mam napisana prosta klase ktora dziedziczy po klasie Exception.
Wygląda ona nastepująco :
<?php
class MySqlException extends Exception {
public function __construct($message, $errorno) {
//sprawdza czy nie ma błędów programisty ( 5000 - numer błędów wbudowanych w MySQL)
if($errorno >= 5000) {
$message = __CLASS__.' typ. Niepoprawne użycie klasy. '.$message;
} else {
$message = __CLASS__.' - '.$message;
}
//wywołanie konstruktora klasy macierzystej Exception
parent::__construct($message, $errorno);
}
//przesłania metode toString klasy macierzystej - Exception
public function __toString() {
return ('Błąd: '.$this->code.' - '.$this->message);
}
}
?>
A oto kod objety blokiem try-catch :
<?php
try {
$con = new MySqlConnect(SQL_HOST, SQL_USER, SQL_PASS);
$strsql = "SELECT author, title ".
"FROM tblbooks ".
"WHERE sold = 0 AND cat = '$category' ".
"ORDER BY author LIMIT $recordoffset, ". PERPAGE;
//pobiera zestaw rekordow
$rs = $con->createResultSet($strsql, SQL_DB);
echo '<div style="text-align:center">'; while($row = $rs->getRow()) {
echo $row[0]." - ".$row[1
]; }
$pagename = basename($_SERVER['PHP_SELF']); //całkowita liczba rekordów
$totalrecords = $rs->getUnlimitedNumberRows();
$numpages = ceil($totalrecords/PERPAGE
); //tworzy parametr category
$otherparameter = "&category=$category";
if($numpages > 1) {
$nav = new PageNavigator($pagename, $totalrecords, PERPAGE, $recordoffset, 4, $otherparameter);
echo $nav->getNavigator(); }
} catch(MySqlException $e) {
}
catch(Exception $e) {
}
?>
Problem polega na tym, iż mimo ze nie ma żadnego błędu klasa MySqlException i tak sie uruchamia i na ekranie zamiast właściwej treści pojawia sie takie cos : (pochodzi z mojej klasy MySqlException)
Cytat
Błąd: 0 - MySqlException -
Zanim wstawilem do kodu blok try-catch wszystko bylo ok......