Ja jums ir gadījies saskarties ar virsrakstā pieminēto kļūdu, bet tā arī neizdevās to atrisināt (vai arī izdevās, bet tā arī nesapratāt, kas bija par vainu), tad varu pastāstīt, ka tam iemesli var būt divi. Vismaz divi populārākie. Par citiem nezinu.

Pirmais un vienkāršākais

Kādas klases destruktors (__destruct() metode) mēģina mest Exception’u.

Otrais, nedaudz nedaudz sarežģītāks.

Ja ir definēts savs speciālais Exception’u handleris, bet kā gadījies kā nē, bet šis handleris pats arī nestrādā kā nākas un met Exception’u.

Piemēram:

<?php

    function my_exception_handler($exception) {

        // Exception's iekš Exception'a ? Nē, tā nu nevarēs...
        throw new Exception('Kaut kas notika kļūdas apstrādes procesā!'); 

    }

    // uzstādām, lai my_exception_handler() apstrādā mūsu Exception'us
    set_exception_handler('my_exception_handler'); 

    // Šis attiecīgi liks izpildīties my_exception_handler() funkcijai
    throw new Exception('Kļūda!');

?>

Tas pats notiks arī, ja Exception’u metīs kāda cita funkcija vai klases metode, kas izsaukta no my_exception_handler().

Es īsti nemācēšu pastāstīt, kas notiek apakšā, kādēļ šī kļūda notiek, bet domāju, ka pietiks ar šādu pragmatisku “atrisinājumu”. :)

Aizmirsu svarīgāko - pašu atrisinājumu otrajam variantam :)

Kodu, kas met Exception’u, vajag ielikt try {} catch () {} struktūrā. Ar to arī pietiks.

Vairāk gūglē.