Как имитировать «попробуй-наконец» или «Попробуй-кроме» на языках, у которых их нет

Есть ли какой-нибудь способ имитировать try-finally или try-except на языке, в котором их нет?

Если происходит какое-то случайное, непредсказуемое исключение, мне нужно быть уверенным, что будет запущена некоторая очистка.

я мог бы попытаться убедиться, что не возникло никакого исключения, таким образом я уверен, что мой код очистки всегда выполняется - но тогда мне не понадобится try-finally / except .

Прямо сейчас я пытаюсь создать try-finally в Lua; но я думаю, что любое решение будет работать и на других языках.

Хотя, хоть убей, я не могу понять, как можно обработать исключение без поддержки, предоставляемой языковой инфраструктурой.

Но никогда не повредит спросить.

8
задан Ian Boyd 6 June 2013 в 19:03
поделиться