0

我的功能如下:

public int CreateMyTask()
{
    Console.WriteLine("Invoking CreateTask method");
    Console.WriteLine("-----------------------------------");
    m_taskID = taskClient.CreateTask(m_tInstance);
    Console.WriteLine("Task create successfully:ID=" + m_taskID.ToString());
    Console.WriteLine("-----------------------------------");
    return m_taskID;
}

我需要做的是:-

  1. 我必须检查函数是否发生异常。基本上可以发生任何异常。我们不关心发生了什么异常。我们只需要查找是否发生了异常。让这个例外成为任何事情。

  2. 如果确实发生了异常,我必须在我的 Excel 工作表 (D:\excel.xls) 的第 2 行第 10 单元格中记录一个单词“FAIL”,并添加与异常相关的文本,例如“发生 Nullreference 异常”或“发生除以零异常”或已发生的任何异常。异常的确切文本必须复制到第 2 行第 11 单元格

  3. 如果没有发生异常,那么我必须在我的 Excel 表的第 2 行第 10 单元格中记录一个单词“PASS”。

有人可以帮我开始吗?我对 c# 很陌生。可以通过一些输入来实现。

4

2 回答 2

1

你的问题是双重的。首先,围绕此方法的功能包装一个 try catch 块。这是在方法内完成还是围绕 CreateMyTask 方法的任何调用完成取决于更广泛的结构和代码的使用。要熟悉 try catch 的使用,请参阅:http: //www.dotnetperls.com/catch - 在此链接中,您将用写入 Excel 工作表的方法替换 writeline。我需要更多关于您计划写入电子表格的方式的背景信息,但正如建议的那样,谷歌从 excel 文件中读取和写入的方式。

于 2012-06-21T10:15:55.313 回答
0
public int CreateMyTask()
{
        try
        {
            Console.WriteLine("Invoking CreateTask method");
            Console.WriteLine("-----------------------------------");
            m_taskID = taskClient.CreateTask(m_tInstance);
            Console.WriteLine("Task create successfully:ID=" + m_taskID.ToString());
            Console.WriteLine("-----------------------------------");
            WriteResultInExcel(false, "");
            return m_taskID;
        }
        catch(Exception ex)
        {
            WriteResultInExcel(true, ex.Message);
        }
}


 private void WriteResultInExcel(bool isExceptionalData, string message)
 {
        Excel.ApplicationClass excelApp = new ApplicationClass();
        Workbook workbook = excelApp.Workbooks.Open("D:\\excel.xls", 0, false, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
        Worksheet worksheet = (Worksheet)workbook.Sheets.get_Item(1);
        if(isExceptionalData)
        {
            ((Range)worksheet.Cells["2", "J"]).Value2 = "FAIL";
            ((Range)worksheet.Cells["2", "K"]).Value2 = message;
        }
        else
        {
            ((Range)worksheet.Cells["2", "J"]).Value2 = "PASS";
        }
        workbook.Save();
        workbook.Close(0, 0, 0);
        excelApp.Quit();
 }

确保检查文件“D:\excel.xls”是否存在,并添加对“Microsoft.Office.Interop.Excel”的引用。

不要错过将其添加到您的指令部分:

使用 Microsoft.Office.Interop.Excel;使用 Excel = Microsoft.Office.Interop.Excel;

于 2012-06-21T10:59:02.287 回答