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

文章目录

        • 前言
        • try catch 的使用

前言

  • 我以前写代码的时候没有这个意识
  • 但是看视频教程或者看其他人写的代码,发现前面都有一大堆这些冗杂代码,可能核心代码只有一两句
  • 比如说,判断字典是否为空,按钮是否重复点击,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;
    }

你可能感兴趣的:(C#)