if (ファイルが無かったら){ファイル新規作成}else{名前変えて再チャレンジ}
であれば、変にコケるだろうけど、
try{ファイル新規作成}catch(名前衝突例外){名前変えて再チャレンジ}
で、ひとつのファイルに対してふたつのプロセスにファイルハンドルを返しちゃうシステムなんてあるの?><;重大なバグじゃね?><;
思考の /dev/null