Tag: 程序流程

正确处理文件流和二进制流以及处理文件流

实际上,我尝试了对代码进行防错并最终使其看起来非常混乱。 我有一个function设置来读取某种类型的文件。 我希望函数在出现问题时返回false,如果一切正常则返回true。 我无法弄清楚如何构建一切。 我有一个尝试打开文件流的初始try-catch块。 在那之后,我在读取过程中进行了一些其他检查,例如文件大小和某些偏移处的值。 我设置的方式是使用if else语句。 如: if(condition){ } else{ MessageBox.Show(“There was an error”); br.Dispose(); fs.Dispose(); return false; } … br是二进制阅读器,fs是文件流。 像这样有很多块,这么多次写同样的东西似乎是不好的做法。 首先想到的是将整个事物包装在try-catch语句中并抛出exception而不是使用if else块。 我记得在阅读try-catch语句时,拥有它们是好的,但不要用它们包装所有内容。 说实话,我仍然不完全理解为什么在try catch语句中包装所有内容都是不好的做法,因为它们只有在出现错误时才会生效,在这种情况下程序正在向南移动… 此外,我是否必须关闭二进制阅读器和文件流,或者关闭一个关闭另一个? 有没有办法使用它们而不必处理它们?

目前在C#中跟踪程序流的可能性?

几年前我使用Postsharp来跟踪执行期间的程序流 , 而无需手动将trace语句添加到方法中。 有没有其他新的方法来跟踪执行以类似的方式调试输出? (最好是一种不需要检测构建组件的方法。也许不可能?)