Exceptions (try / catch)
Bo az
02/08/2006 21:48:00Ik zit een beetje met hoe ik try/catch nu (het beste) kan gebruiken.
Zo heb ik bijvoorbeeld de volgende method:
Moet ik hier dan meteen een try/catch om de throw heen bouwen of kan dat ook op een ander niveau, of is het misschien zelf wel beter om dit op een ander niveau te doen?
Het zit ‘m een beetje in dit:
Als ik iedere keer zo’n heel blok moet maken, dan is dat behalve de helft van mijn code ook meteen het meeste werk, dit omdat ik niet alleen gewone Exceptions heb, maar ook databaseExceptions etc.
Misschien zit ik er wel helemaal naast en moet ik het op een hele andere manier gebruiken, maar hoe dan?
Zo heb ik bijvoorbeeld de volgende method:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
public function __construct(){
$this->m_rHandle = @odbc_connect($this->m_sDns, $this->m_sUser, $this->m_sPass);
if(!is_resource($this->m_rHandle)){
throw new databaseException('Database connection could not be established', 1, 'ODBC Connect');
}
}
?>
public function __construct(){
$this->m_rHandle = @odbc_connect($this->m_sDns, $this->m_sUser, $this->m_sPass);
if(!is_resource($this->m_rHandle)){
throw new databaseException('Database connection could not be established', 1, 'ODBC Connect');
}
}
?>
Moet ik hier dan meteen een try/catch om de throw heen bouwen of kan dat ook op een ander niveau, of is het misschien zelf wel beter om dit op een ander niveau te doen?
Het zit ‘m een beetje in dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
try{
throw new Exception('You have to choose a valid Database Type in order to use one.', '1');
}catch(Exception $e){
echo '<h1>Exception</h1>'.PHP_EOL;
echo 'Error: '.$e->getMessage().'<br />'.PHP_EOL;
echo 'Code: '.$e->getCode().'<br />'.PHP_EOL;
echo 'Line: '.$e->getLine().'<br />'.PHP_EOL;
echo 'File: '.basename($e->getFile()).'<br />'.PHP_EOL;
}
?>
try{
throw new Exception('You have to choose a valid Database Type in order to use one.', '1');
}catch(Exception $e){
echo '<h1>Exception</h1>'.PHP_EOL;
echo 'Error: '.$e->getMessage().'<br />'.PHP_EOL;
echo 'Code: '.$e->getCode().'<br />'.PHP_EOL;
echo 'Line: '.$e->getLine().'<br />'.PHP_EOL;
echo 'File: '.basename($e->getFile()).'<br />'.PHP_EOL;
}
?>
Als ik iedere keer zo’n heel blok moet maken, dan is dat behalve de helft van mijn code ook meteen het meeste werk, dit omdat ik niet alleen gewone Exceptions heb, maar ook databaseExceptions etc.
Misschien zit ik er wel helemaal naast en moet ik het op een hele andere manier gebruiken, maar hoe dan?
PHP hulp
23/11/2024 10:58:49Roy Bongers
02/08/2006 23:11:00Try catchen moet je pas bij de GUI doen :) . Want je wilt in de GUI weten wanneer iets fout gaat zodat je een melding kan geven.