通过将日志记录添加到文件来进行文件读写异常处理 - c#

如果要进行文件读取(写入)操作失败,我想写一条日志记录,例如:

try
{
    //some file operation, for example:
    TextReader tr2 = new StreamReader(nfilepath);
    resultN = tr2.ReadLine();
    tr2.Close();             
}
catch (Exception ex)
{
   string recfilepath = "...
   string rectoadd = "RecDateTime=" + DateTime.Now.ToString()+ ...+ex.Message.ToString();
   File.AppendAllText(recfilepath, rectoadd);
}

这是正确的方法吗?如果在上面的示例中,写入日志记录(File.AppendAllText(recfilepath, rectoadd);)的尝试也失败了怎么办?

参考方案

永远不要捕获异常类型-这样您就可以隐藏程序错误。仅捕获预期的异常类型-在这种情况下,它可以是IOException。

在catch块内,您可以添加另一个try-catch块,并通过另一种方式报告日志记录错误:跟踪,消息框等。

为什么不在生产中启用Symfony调试工具? - php

我经常发现将php错误转换为将回调注册到set_error_handler和register_shutdown_function的异常非常有用,因此我决定尝试一些更可靠的解决方案,即Symfony Debug组件。但是,它们在introduction page中警告: 您永远不要在生产环境中启用调试工具,因为它们可能会向用户泄露敏感信息。启用调试组件基本上意…

File.Exists是否不能在UWP项目中使用? - c#

File.Exists(filePath);在控制台应用程序中可以完美地工作,但是当我在uwp中执行相同的操作时,它不会检测到文件。我试图在各种方法上设置断点,并尝试任何可以为我提供有关此问题的信息的方法,但是无论我尝试什么,我都一无所获。来自UWP应用的代码: string path = @"C:\Users\Name\Desktop\image…

jQuery File Upload插件-空文件上传结果 - php

在过去的几天里,我一直在使用this插件进行自定义,并将其设置为可以完全按照我的站点要求工作。我在本地服务器上一切正常,没有错误/错误。但是,当我尝试将其上传到我的Plesk服务器时,没有文件显示在加载状态(即使目标文件夹中有图像),并且当我尝试上传im时,出现“空文件上传结果”错误。奇怪的是,即使显示了错误,文件上传似乎仍然起作用,并且相关的图像出现在文件…

获取PHP中函数调用者的__FILE__常量 - php

我知道PHP中的__FILE__魔术常数将变成当前执行文件的完整路径和文件名。但是,有什么方法可以使函数的调用文件获得相同的信息吗?例如://foo.php: include "bar.php"; call_it(); //bar.php function call_it() { echo "Calling file: …

如何在PHP中设置get_file_contents的时间限制? - php

有时get_file_contents花费的时间太长,这会挂起整个脚本。有什么方法可以设置get_file_contents的超时限制,而无需修改脚本的最大执行时间?编辑:由于该文件不存在,因此花费了很长时间。我收到“无法打开流:HTTP请求失败!”错误。但这需要永远。 参考方案 通过使用timeout option创建上下文,似乎在PHP> 5.2.…