异常和状态管理

Posted *Hunter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常和状态管理相关的知识,希望对你有一定的参考价值。

一、异常处理机制

1,应该在try中放置多少代码?
取决于状态管理。如果在一个try块中执行多个可能抛出同一个异常类型的操作,但不同的操作有不同的异常恢复措施,则应该将每个操作都放到他自己的try块中,这样才能正确地恢复状态
2,try、finally,catch执行顺序

            try
            {
                try
                {
                    throw new Exception("异常");
                }
                finally
                {
                    Console.WriteLine("finally");
                }
            }
            catch 
            {
                Console.WriteLine("catch");
            }
            //输出顺序:finally catch
            Console.ReadLine();

3,finally设计

        private void ReadData(string pathname)
        {
            FileStream fs = null;
            try
            {
                fs = new FileStream(pathname, FileMode.Open);
                //处理文件中的数据
            }
            catch (IOException)
            {
                //在此添加从IOException恢复的代码
            }
            finally
            {
                //确保文件被关闭
                if(fs!=null)fs.Close();
            }
        }

 

以上是关于异常和状态管理的主要内容,如果未能解决你的问题,请参考以下文章

异常和状态管理1

在 fragmenStatePagerAdapter 的嵌套片段中,非法状态异常-指定的子级已经有父级

异常和状态管理

异常和状态管理2

片段管理器空引用异常

第二十章 异常和状态管理