zoukankan      html  css  js  c++  java
  • 重构第六天:用条件语句替换异常

    在工作中经常遇到用异常去控制程序流程,下面是一个普遍的例子:

    public class Microwave
    {
        private IMicrowaveMotor Motor { get; set; }
    
        public bool Start(object food)
        {
            bool foodCooked = false;
            try
            {
                Motor.Cook(food);
                foodCooked = true;
            }
            catch (InUseException)
            {
                foodcooked = false;
            }
    
            return foodCooked;
        }
    }
    
    

    异常应该是用来处理异常的行为的,对于上面的这种类型的代码,它们中的大部分都可以通过一个合适的条件语句进行替换。

    public class Microwave
    {
        private IMicrowaveMotor Motor { get; set; }
    
        public bool Start(object food)
        {
            if (Motor.IsInUse)
                return false;
    
            Motor.Cook(food);
    
            return true;
        }
    }
    
  • 相关阅读:
    守卫者的挑战(guard)
    pf
    放砖头
    多人背包
    TC-572-D1L2 未完!待续!
    方程的解数
    单词矩阵/贰五语言
    虫食算
    移动玩具
    UVA 125 统计路径条数 FLOYD
  • 原文地址:https://www.cnblogs.com/peteryan/p/3845064.html
Copyright © 2011-2022 走看看