StreamWriterコンストラクターの例外が原因でクラッシュする場合(可能性が高いと思われます)、例外キャッチブロック内に配置するだけです。
そうすれば、単にヒープに陥るのではなく、コードに状況を処理させることができます。
言い換えれば、次のようなものです。
try {
file = new StreamWriter ("C:\\Users\\me\\sub\\" + post.title + ".txt");
catch (Exception e) { // Should also probably be a more fine-grained exception
// Do something intelligent, notify user, loop back again
}
ファイル名をモーフィングして受け入れ可能にするという点で、多数のファイルシステムで受け入れられる文字のリストがここで回答されました。
基本的に、このウィキペディアページの2番目の表(Comparison of filename limitations
)は、許可されているものと許可されていないものを示しています。
正規表現の置換を使用して、すべての無効な文字がなどの有効な文字に変換されるか、_
完全に削除されるようにすることができます。