Exceptions (try / catch)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bo az

Bo az

02/08/2006 21:48:00
Quote Anchor link
Ik zit een beetje met hoe ik try/catch nu (het beste) kan gebruiken.

Zo heb ik bijvoorbeeld de volgende method:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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');
    }
}

?>

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)
PHP script in nieuw venster Selecteer het PHP script
1
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;
}

?>

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

PHP hulp

08/05/2021 21:54:29
 
Roy Bongers

Roy Bongers

02/08/2006 23:11:00
Quote Anchor link
Try 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.
 
Bo az

Bo az

02/08/2006 23:17:00
Quote Anchor link
zo iets had jelmer net ook op irc gezegd, ik ga er nog eens mee stoeien, bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.