2014-11-12 1 views
0

Я использую с помощью BinaryWriter следующим образом:ловить ошибки с помощью BinaryWriter

using (BinaryWriter writer = new BinaryWriter(File.Open(configData.RxOutFn, FileMode.Create))) 
{ 
    // Do Something 
} 

Иногда у меня есть файл открыт в другом приложении, и создать не удается, как я могу поймать эту ошибку?

Я попытался положить TRY/поймать вокруг всего так:

try 
{ 
    using (BinaryWriter writer = new BinaryWriter(File.Open(configData.RxOutFn, FileMode.Create))) 
    { 
     // Do something      
    } 
} 
catch 
{ 
    // Display error 
} 

Но я боюсь, что будет ловить не то, как есть много кода в

// Do Something 

Любые идеи, как я могу поймать эту ошибку?

Большое спасибо заранее

Энди

+0

Просто поймайте конкретное исключение –

ответ

1

Проверьте, что исключение брошено (File.Open бросает IOException, который я думаю, это то, что брошено, когда файл не может быть создан) и поймать, что конкретное исключение:

try 
{ 
    using (BinaryWriter writer = new BinaryWriter(File.Open(configData.RxOutFn, FileMode.Create))) 
    { 
     // Do something      
    } 
} 
catch (IOException e) 
{ 
    // Display error 
}