Como detectar a causa System.IO.IOException pelo arquivo existente?

Eu quero criar e abrir um arquivo, mas apenas se ele não existir. Eu não quero usar um File.Exists porque um thread por switch depois de criar um arquivo com o mesmo nome.

Como faço para verificar se a exceção System.IO.IOException foi causada pelo arquivo existente? Eu prefiro não analisar a mensagem de erro (mesmo que seja tão simples quanto .indexOf ("existir"))

Como devo fazer isso?

questionAnswers(5)

yourAnswerToTheQuestion