Можно ли определить, запущена ли программа Racket в песочнице?Определить, находится ли программа ракетки в песочнице
Причина, по которой я спрашиваю, заключается в том, что у меня есть макрос Racket, который создает файл. И расширитель фона DrRacket предотвращает создание файла (как он должен). Однако при этом в нижней части окна появляется ошибка, указывающая, что файл не может быть создан.
Итак, я хотел бы определить, есть ли я в песочнице, и если да, не создавайте файл и любезно заканчивайте макрос.
ли это на самом деле важно различать создание файла не в состоянии из-за работу в песочнице, в отличие от неудачи по другим причинам? Если нет, вы можете поймать 'exn: fail: filesystem' (я предполагаю), используя' with-handlers'. В противном случае, хотя вы можете вызвать 'current-security-guard', значение AFAIK полностью непрозрачно. –
Yup, насколько я могу сказать, 'current-security-guard' довольно непрозрачен. И хотя вы можете использовать новый, вам нужно дать ему родительский, так что вы не можете найти, какую ошибку будет выбросить. –