Beste lezer,


Ik heb volgende code:

try {
	//Maak connectie, haal blog op.

	return $blog; //Geef de blog terug
}
catch(Exception $e) {
	throw $e; //Deze exception handel ik elders af
}
finally 
{
	echo "blabla";
}


Hieruit volgt volgende error:
Parse error: syntax error, unexpected '{' in /home/tikkes/domains/stupisoft.net/public_html/classes/BlogDB.php on line 26

Ik deed al wat opzoekingen maar ik kom er niet uit.
Alles binnen mn try en catch blok is in orde.
Mijn script werkt indien ik die finally-blok wegdoe, maar ik wil hem gebruiken dus heeft iemand een idee?


EDIT
line 26 is de { net onder finally
PHP kent alleen try-catch, geen try-catch-finally.
Aangezien je toch al elke mogelijke exception vangt, stop wat je in finally wilt in de cath vóór de throw.

Met je huidige snippet zal het geen verschil maken (lijkt mij), maar je zou zoiets kunnen gebruiken in andere situaties
<?php // kleurtjes FTW

try
{
    //blabla

    return $blog;
}
catch(PDOException $e)
{
    // iets specifieks voor deze exception
    // geen throw
}
catch(BadMethodCallException $e)
{
    // zie bovenstaande
}

if (isset($e) AND $e instaneof Exception)
{
    // dit zou je als een finally kunnen zien
    throw $e;
}

Reageren