首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[C#][原创]捕获异常try-catch-finally返回值研究报告

[C#][原创]捕获异常try-catch-finally返回值研究报告

作者头像
云未归来
发布2025-07-18 13:56:05
发布2025-07-18 13:56:05
650
举报

示例代码:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;

namespace 捕获异常问题 {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }

        private void button1_Click(object sender, EventArgs e)         {             Console.WriteLine("---------"+test());         }

        public int test()         {             try{                 Console.WriteLine("正常1");                 throw new Exception();                 Console.WriteLine("正常2");                 return 0;//第1句

            }catch(Exception ex)             {                 Console.WriteLine("异常");                 return 1;//第2句

            }finally             {                 Console.WriteLine("最终");                 return 2;//第3句             }

            return 3;//第4句

        }     } }

第一种情况:所有语句不屏蔽,输出结果会报错:控制不能离开 finally 子句主体,说明finally不能有return 语句

第二情况:屏蔽第3句,输出

正常1 异常 最终 ---------1

情况分析:抛出异常后,先执行catch里面的语句,有return会先执行finally里面语句然后return

第三情况:屏蔽第2句,第3句,输出

正常1 异常 最终 ---------3

这种情况很好理解

以上基本就是这些常见问题了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档