比如在运行期间删除输出文件,将sw的两个实例指向同一个IO等?
您无法阻止用户这样做,但您可以做的是应用防御性编程.
在您的两个示例中,您必须在每次访问资源时检测故障情况并做出适当的反应,无论是抛出异常还是死亡或继续而无法访问该资源.
永远不要假设资源分配会成功,始终检查您无法控制的内容.简而言之,假设尽可能少并验证一切.
'我被告知访问此文件以写入它.它已经打开了吗?我有权限吗?它有预期的格式吗?磁盘有足够的空间吗?等等.'
还有更多关于此的内容.只是谷歌的防御性编程,你会得到很多阅读.