Я размышлял бы, что из-за пути стек вызовов добирается, ранили/раскрутили, когда Вы приводите к возврату из перечислителя, для блока попытки/выгоды становится невозможно на самом деле "поймать" исключение. (потому что блок возврата урожая не находится на стеке, даже при том, что он породил итеративный блок)
Для получения ideea того, что я говорю об установке блок итератора и использование foreach тот итератор. Проверьте то, на что Стек вызовов похож в foreach блоке, и затем проверьте, что это в итераторе пробует/наконец блок.
У вас должны быть привилегии root в MySQL, чтобы установить разрешение SUPER для пользователя.
GRANT SUPER
ON '<database>'.'<tablename/*>'
TO '<username>'@'<host/connection/ip/%>';