Похоже, вам нужно разобраться с двумя случаями:
1). Ресурс, который вы используете, может быть удален, устарел и недоступен. Это в значительной степени относится к любым внешним ресурсам, например базам данных, удаленным серверам и файлам. Очевидно, что вам нужна обработка исключений, и вы уже рассмотрели это ... однако есть кое-что еще, см. Следующий случай ...
2). Несколько частей вашего приложения хотят использовать один и тот же ресурс, и мы хотим обеспечить их использование, чтобы они не мешали друг другу.
Для этого есть две возможности: сам ресурс имеет своего рода посредничество (например, блокировки файлов), и вы этим пользуетесь. В качестве альтернативы вам нужно контролировать это, и именно здесь (как сказал Жан-Лу) играет прокси. Теперь мы, вероятно, не можем навязать использование прокси-сервера, если кто-то напишет код для обхода прокси-сервера и перейдет непосредственно к файлу, ну, у нас нет защиты - и это все равно, что какая-то внешняя сила, наносящая ущерб вашему ресурс. Предполагая, что у нас есть сотрудничество, мы можем добавить в прокси много хитрости:
а). Посчитайте пользователей, следовательно, удаление полиции
б). Подсчитайте пользователя и автоматически удалите, когда последний уйдет.
с). Объединяйте прокси-серверы, если создавать их дорого.
г). Если мы получим исключение, удалите или отметьте все устаревшие прокси
е). Заметьте, что два разных имени файла относятся к одному и тому же файлу и полиции, которые совместно.