代码健壮性 —— 异常保护和合法性检测

  • 参数:
    • 入参;
      • 是否为空
    • 返回值;
      • 是否为空;
      • 根据返回状态码或返回值判断函数执行的状态;

1. 参数的合法性检测(validate)

  • 指针是否为空

    if (p == NULL)
        ...
  • 内存申请:要判断是否申请成功;

  • 序列访问:
    • 序列是否为空;
    • 是否越界;
  • 序列是否为空 ⇒ 删除序列中的元素 ⇒ 此时是否为空;
    • 对于 Stack 的 pop 操作;
  • 列表或者二维列表(比如图的邻接矩阵表示法),通过下标的方式进行索引时,下标是否合法;
  • 所要设置的对象一定要存在;
    • 比如对于一个邻接表增加一条边,
      • 首先要求表中至少有一个结点;
      • 起点和终点必须都各自存在;
      • 需要对起点和终点是否已经存在边进行判断;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

五道口纳什

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

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

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

打赏作者

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

抵扣说明:

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

余额充值