关于安全校验代码的一些心得

本文探讨了try-catch-finally语句在代码中的应用,分析了如何通过这些语句来处理异常,以及它们在程序执行流程中的作用。文章通过具体示例说明了在catch中捕获异常对象的方法,以及finally块的执行特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言
  • 我以前写代码的时候没有这个意识
  • 但是看视频教程或者看其他人写的代码,发现前面都有一大堆这些冗杂代码,可能核心代码只有一两句
  • 比如说,判断字典是否为空,按钮是否重复点击,try catch 等等诸如此类
  • 我一开始只是生搬硬套,后来突然顿悟,对于这个出现的问题,到底是应该给出警告,还是直接错误呢,这完全是由我们写代码的人根据上下文的语境自己定义的
  • 譬如说,对于一个状态机,如果向字典中传过来一个枚举State.None,应该接受吗?根据语境,一个人的状态可以为空,所以这个时候不应该返回错误。
  • 其它方面的,try catch 只是为了更好的供我们排错而已
try catch 的使用
  • 在catch中可以捕获异常对象,根据Debug.Log(e.Message);来输出异常信息
  • finally中的语句块最后都会被执行
  • 我以前一直以为catch或者finall执行完后,程序就会自动结束。【鬼知道我为什么会这么想,后来写了一些实验代码才发现】,程序还会自动向下运行,只不过这时候得到的结果已经不正确了,所以通常就在catch或者finally里面直接return了。
 public static T StringToEnum(string str)
    {
        T temp = default(T);
        try
        {
            temp = (T)Enum.Parse(typeof(T), str);
        }
        catch (Exception e)
        {
            Debug.Log(e.Message);
           // return temp;     
        }finally
        {
        	Debug,Log("This is Running1 ");
		}
        Debug.Log(" this is running2");
        return temp;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值