I have read and discussed the following questions and articles deeply and many others now and in the past:
When to use try / catch blocks?
The main method code is completely inside try / catch: is this a bad practice?
When to Use Try Catch Blocks
I will make this article an exception handling coding standard in my organization! very good, but did not answer: http://www.codeproject.com/Articles/9538/Exception-Handling-Best-Practices-in-NET
What is the best practice for try catch blocks to create clean code?
Guidelines for managing exceptions in Java or C # Here: I did not like this expression :( You should not try to catch every exception in all possible places.
Use multiple Try / Catch blocks in a method
I had a problem when I need to take part in a block of code with a try-catch instruction, I know that the code must be enclosed in a trouble code. And I have to check that I can check, but, for example: I need to write a line in some text file, I have to check if the file exists, and if I have write permission to it, I have to check if there is a space on the disk or the disk is writable, and if I checked the space, what if something happened while writing the file (did some other application or stream use the space or the removable disk was deleted?). Is it best practice if I checked these things and handled IOException and SecurityException and other potential exceptions, or should I only check without try-catch?
Another example: I use EntityFramework to access the database, when access to something can be connected to the database, I know that I should check the connection if it is closed and try to open it, but there are many, many things. which may cause a failure in this statement, the database may be on a removable disk, this disk may be deleted while reading, the DBMS service may be stopped for any reason, a space exception may not be selected, the database schema may change after of how I try to execute my code for some *** * reason, How can I prevent my code because of a failure, can I just check everything that I can check, and continue? or should I use try catch for an exception that I can expect, although I checked them?
Give me your answers, please do not general answers!
EDIT
And be sure to read the following: http://msdn.microsoft.com/en-us/library/seyhszts.aspx