0

我有一段代码

 private Log in_log;
 in_log = new Log(logfolder + call_date.ToString("yyyyMMdd") + "\\" + call_number + ".log");

然后

    private void AppLog(string s1,string s2)
    {
        if (Environment.UserInteractive) Log.Write(s1, s2);
        try
        {
            in_log.Write(s1, s2);
        }
        catch (Exception ex)
        {
            Log.WriteException(ex,":Logging:AppLog" );
        }
    }

我有一个例外

你调用的对象是空的

在 in_log.Write(s1, s2);

Log 中的 Write 方法有:

    public void Write(string LogEntry);
    public void Write(int logLevel, string LogEntry);
    public void Write(string s, params object[] args);
    public void Write(int logLevel, string s, params object[] args);

我认为使用有问题

参数对象 [] 参数

调用流程:

call_number = "H_20131106081139199_69";
AppLog("Answering Call Number:{0}", call_number);

谢谢指正。

4

2 回答 2

1

您在该行收到该错误的唯一原因是因为in_log为空。in_log = new Log(...在到达这行代码之前检查您是否实际调用了该行。

话虽如此,您确定异常是由该行引发的,还是在 Write 方法本身中引发的?如果是后者,您必须发布该方法的代码以获得进一步的帮助。

于 2013-11-06T13:43:58.943 回答
-1

当您使用它写入字符串时,请确保 in_log 在范围内。

于 2013-11-06T13:44:25.013 回答