2013-02-25 7 views
10

Otrzymuję ErrorException na wywołanie funkcji poniżej. Jak to może być? Dlaczego nie został złapany?

try { 
    static::$function_name($url); 
} 
catch (Exception $e) {} 

Przyczyną błędu jest wywołanie file_put_contents. Korzystam z frameworka Laravel 4, jeśli ma to jakieś znaczenie.

+0

Nie, nie. .. –

+0

"Nie wiesz" co? –

+0

uzyskać 'ErrorException' ucieczkę z bloku' try'/'catch'. Utwórz testcase. –

Odpowiedz

32

Podejrzewam, że trzeba napisać tak:

try { 
    static::$function_name($url); 
} catch (\Exception $e) {} 

Zanotować \ przed wyjątku.

Gdy ogłoszono nazw, trzeba podać nazw root przed klasami jak wyjątek, w przeciwnym wypadku blok catch tu będzie szukał \Your\Namespace\Exception, a nie tylko \Exception

+5

Lub 'użyj wyjątku;' w bieżącym obszarze nazw –

+0

Wonderful !!! Dobry chwyt! – Turtle

Powiązane problemy