我有这段代码:
var serialiser = new XmlSerializer(typeof(SessionModel));
OutputSavedLocally = false;
try
{
if (!Directory.Exists(_outputFileLocation))
{
Directory.CreateDirectory(_outputFileLocation);
}
Logger.Instance.LogDebug("Saving data to " + _outputFileLocation);
using (var writer = new StreamWriter(_outputFileLocation + string.Format(Consts.OutputFileName, _subject.SubjectNumber)))
{
serialiser.Serialize(writer, _session);
}
}
catch (Exception)
{
Logger.Instance.LogInfo("Couldn't write file {0} to network location. Saving locally.");
// Other exception handling logic.
}
它正在尝试写入共享网络驱动器上的某个位置,该位置将被另一台设备上的另一个应用程序接收。大部分时间它工作正常。
但是,测试人员似乎发现文件没有被写入(即根本没有创建)。这家伙在另一个国家,所以我不能去看看这个设备。
Logger
类只使用LogDebug()
和LogInfo()
将信息写入日志文件。根据日志文件判断,文件正在被写入而没有异常 - 即“无法写入文件...”日志条目永远不会出现(“将数据保存到...”),但文件没有t出现在目的地。
我的问题是,文件是否有任何方式无法写入但不会抛出异常?