C# 我是否正确使用try-catch?

C# 我是否正确使用try-catch?,c#,exception,try-catch,C#,Exception,Try Catch,我需要一些关于如何正确使用try/catch的帮助。在下面的示例中,我使用的是GoogleTasksAPI,但这并不是最重要的 这是我目前的代码: try { // try something that could cause an exception Task result = service.Tasks.Patch(body, listId, taskId).Execute(); } catch (Google.GoogleApiException ex) {

我需要一些关于如何正确使用
try/catch
的帮助。在下面的示例中,我使用的是GoogleTasksAPI,但这并不是最重要的

这是我目前的代码:

try
{
    // try something that could cause an exception
    Task result = service.Tasks.Patch(body, listId, taskId).Execute();
}
catch (Google.GoogleApiException ex)
{   
    // handle exception
    Debug.WriteLine("exception");
}
这段代码尝试执行某些操作,我正在捕获可能的异常。现在,我希望在一切正常时输出一条消息,而不是仅在发生错误时输出消息(在
catch
块中)。不过,我不知道该把这样的信息放在哪里

  • 如果我在
    finally
    块中放入一条成功消息,即使有错误,它也会始终显示
  • 如果我在
    try/catch
    之后,或者在
    finally
    之后放上一条成功消息,即使有错误,它也会一直显示出来
那么,我会像这样在
try
块中放置一条成功消息吗

try
{
    // try something that could cause an exception
    Task result = service.Tasks.Patch(body, listId, taskId).Execute();
    Debug.WriteLine("task updated successfully"); // <------------------ success message
}
catch (Google.GoogleApiException ex)
{   
    // handle exception
    Debug.WriteLine("exception");
}
试试看
{
//尝试可能导致异常的操作
任务结果=service.Tasks.Patch(body,listId,taskId.Execute();

Debug.WriteLine(“任务已成功更新”);//否,您不必只包括可能在try块中失败的代码。您还应该包括要求该调用成功的代码。例如,如果您需要连接到数据库并运行某些查询,您可以在try块中完成所有操作


您可能希望包含第二个catch块来捕获其他异常。这只是一个随机想法。

“我的理解是,try只包含可能失败的代码”好的,不。
try
块应该包含可能失败的代码,以及只有当可能失败的代码没有失败时才应该运行的代码。第二个示例完全正确。感谢您的快速评论!下次请作为答案发布,本会选择它;-)