Welche Klasseneinträge sollte ich verwenden, um nicht standardmäßige Ausnahmen von einer C-Erweiterung zu werfen?

8

In meiner C-Erweiterung kann ich eine PHP-Ausnahme mit zend_throw_exception an die aufrufende Funktion übergeben. Der erste Parameter dieser Funktion ist zend_class_entry , der angibt, welche Art von Ausnahme ausgelöst werden soll. Ich weiß aus der Dokumentation in zend_exceptions.h , dass ich zend_exception_get_default() verwenden kann, um den Standardausnahmetyp zu verwenden.

Aber es sagt auch, dass ich eine abgeleitete Klasse weitergeben kann. Wo finde ich die Klasseneinträge für die abgeleiteten eingebauten Ausnahmen, z. B. InvalidArgumentException ?

    
murgatroid99 06.08.2014, 17:46
quelle

1 Antwort

7

Alle Ausnahmen sind hier im Quellcode definiert;

%Vor%

und finden Sie hier, wenn Sie das Paket devel installieren (z. B. yum install php-devel auf Fedora);

%Vor%

und enthält folgendes;

%Vor%

und kann nach dem Unit-Test wie geworfen werden;

%Vor%     
Soren 08.08.2014, 22:12
quelle

Tags und Links