【翁恺】32-异常基本概念

run-time error

  • the basic philosophy of c++ is that "badly formed code will not be run"
  • there's always something happen in run-time
  • it is very important to deal with all possible situation in the future running

read a file

  • open the file
  • determine its size
  • allocate that much memory
  • read the file into memory
  • close the file
errorCode Type readeFile{
    initialize errorCode = 0;
    open the file;
    if(theFileOpen){
        determine its size;
        if(gotTheFileLength){
            allocate that much memory;
            if(gotEnoughMemoty){
                read the file into memory;
                if(readFailed){
                    errorCode = -1;
                }
            }else{
                errorCode = -2;
            }
        }else{
            errorCode = -3;
        }
        close the file;
        if(theFIEDidntClose&&errorCode ==0){
            errorCode = -4;
        }else{
            errorCode = errorCode and -4;
        }
    }else{
        errorCode = -5;
    }
    return errorCode;
}

working w/exception  

try{
    open the file;
    determine its size;
    allocate that much memory;
    read the file into memory;
    close the file;
}catch(fileOpenFailed){
    doSomting;
}catch(sizeDeterminationFailed){
    doSomting;
}catch(memoryAllocationFailed){
    doSomting;
}catch(readFailed){
    doSomting;
}catch(fileCloseFailed){
    doSomting;
}

exception

  • I take exception to that
  • At the point where the problem occurs,you might not known what to do with it,but you do know that you can't just continue on merrily;you must stop ,and somebody,somewhere,must figure out what to do

why exception? 清晰

  • the significant benefit of exceptions is that they clean up error handing code  
  • it separates the code that describes what you want to do from the code that is executed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

理心炼丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值