do same thing by using different methods.just like you write a program by using C and C++if you do not use try, you should waste lots of codes on deal with the exceptions.

解决方案 »

  1.   

    我觉得是有的
    IF ELSE 更多的运用再业务逻辑里 
    而Try{}Catch{}则更多的运用在合业务逻辑 但违反系统规则的场合或者说PHP和其他系统通讯的过程中
    比如要INSERT一条数据到数据库 MYSQL_QUERY($INSERT_SQL)违反了某个字段的唯一约束
    情况A:如果DIE('XXX') 你只知道失败
    情况B:用MYSQL_INSERT_ID(); 没返回插入的ID 知道插入失败 但和DIE();效果差不多
    情况C:捕获了异常返回$e.Message(); 最少通过这个Message知道你$INSERT_SQL 这个SQL命令没拼写错误,也不用ECHO $INSERT_SQL 然后跑到数据库里运行这个SQL命令了
    再如文件读写 FTP上传等等符
      

  2.   

    将if...else ...做专业封装,将其专门用于异常扑获,就成了try  catch
      

  3.   

    下面这个麻烦改写成if。。else看看try {
      语句1
      语句2 
      语句3
      语句4
      语句5
      语句6
      语句7
      语句8
      ...
    } catch (Exception1 $e) {      
       语句
    } catch (Exception2 $e) { 
       语句
    } catch (Exception3 $e) {      
       语句
    } catch (Exception4 $e) { 
       语句
    } catch (Exception5 $e) {      
       语句
    } catch (Exception6 $e) { 
       语句
    }
      

  4.   

    throw的异常只能catch,你可以用if实现不用throw,但是如果系统函数或者别人写的函数或者类throw异常就只能catch。
      

  5.   

    在本质上他们是不同的,if else是控制语句,是控制代码的执行路径,try catch是捕捉异常,是在程序在极端条件下出错,所做的补救,不推荐相互代替。