我的功能如下:
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;
}
我需要做的是: -
我必须检查函数是否发生了异常。基本上可以发生任何异常。我们对于发生了什么异常并不感到困扰。我们简单地需要找出是否发生AN异常。让那个例外成为一件事。
如果确实发生了异常,我必须在我的Excel工作表(D:\ excel.xls)的第2行,单元格10中记录单词“FAIL”,并添加与异常相关的文本,如“Nullreference”异常发生“或”除以零异常“或已发生的任何异常。必须将例外的确切文本复制到第2行,单元格11
如果没有发生异常,那么我必须在我的Excel工作表的第2行,单元格10中录制一个单词“PASS”。
有人可以帮助我开始这个吗?对c#来说还是个新手。有些投入可以这样做。
答案 0 :(得分:1)
你的问题有两个问题。首先,围绕此方法的功能包装try catch块。这是在方法内完成还是在CreateMyTask方法的任何调用周围完成取决于更广泛的结构和代码的使用。为了熟悉try catch的使用,请参考:http://www.dotnetperls.com/catch - 在此链接中,您将使用将写入Excel工作表的方法替换writeline。我需要更多关于您计划写入电子表格的方式的背景信息,但正如建议的那样,谷歌的方式来读取和写入Excel文件。
答案 1 :(得分: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;