Der-Dennis: Return in try-catch-Block

Beitrag lesen

Hallo zusammen,

mir ist neulich aufgefallen, dass bei den meisten Anwendungen (oder Frameworks: Zend Framework ist so ein Beispiel) ein return nicht in einem try-catch-Block verwendet wird.

Es wird also nicht (wie von mir favorisiert) so etwas wie

  
class Test  
{  
	public function returnInTryCatchBlock()  
	{  
		try {  
			return $this->throwsException();  
		} catch (Exception $e) {  
			return 'Catched!';  
		}  
	}  
}  

verwendet, sondern so etwas

  
class Test  
{  
	public function returnInTryCatchBlock()  
	{  
		try {  
			$var = $this->throwsException();  
		} catch (Exception $e) {  
			$var = 'Catched!';  
		}  
		return $var;  
	}  
}  

Das kann ich mir nicht wirklich erklären, warum das sehr häufig so gemacht wird. Übersichtlicher finde ich persönlich auf jeden Fall die erste Schreibweise. Dann dachte ich, es liegt eventuell an der Geschwindigkeit und hab's getestet: Die zweite Schreibweise benötigt in etwa doppelt so lange wie die erste. Ist also auch kein Grund.

Hat jemand eine Idee, warum dies häufig so gemacht wird? Das Beispiel mit dem try-catch-Block ist nur eine von mehreren Schreibweisen, die mir nicht so ganz einleuchten. Wenn mir jemand exemplarisch bei diesem Beispiel weiterhelfen kann, kann ich eventuell auch die anderen Schreibweisen davon ableiten.

Gruß und Danke, Dennis