Вы можете сравнить с типом IOException, чтобы проверить и проверить, не является ли это чем-то другим
Например
if (ex is FileNotFoundException)
Возможно, вы захотите посмотреть справку по System.IO. Многие исключения в этом классе наследуются от IOException . Вне проверки, чтобы увидеть, является ли это другим типом исключения, вам, возможно, придется посмотреть в сообщении описания или вы могли бы сделать вызов Win32 API в shell32.dll. Там может быть функция, чтобы проверить, заблокирован ли файл.
Также, если вам абсолютно необходимо ждать, вы можете использовать цикл, но если вы хотите выполнять другие действия во время ожидания, используйте асинхронный поток.