异常处理

对于一个程序来说,异常处理是一个必不可少的环节,这里简单总结一下自己进行异常处理的经验。
首先我们要确定代码可能会发生的所有情况,比如数组越界,串口连接失败等,然后我们要确定异常的级别,是属于绝对不可能发生的我们在程序开发阶段就要使用断言等方法来修复,有可能在用户使用时发生的我们要根据异常级别做不同的处理,比如串口断开我们应该提醒用户,然后可以选择进行重连或退出程序,当用户输入的数据超过正常范围也要做相应的处理,当我们抛出一个异常的时候,我们要想清楚应该在哪里把他捕获,如果上层不能捕获我们就在更上一层捕获,总之必须要在异常抛出到最顶层之前将其捕获,具体的实现方式可能不同,但我们要明确一个规则就是不要在构造函数或者析构函数中捕获异常。下面以一个串口的异常为例简单记录一下异常捕获的流程

  • 方法一:
Created with Raphaël 2.1.0 SePort类中有一个send函数,他会抛出SeportException的异常 Device中有一个setVoltage的函数,返回值为bool类型,它在其中catch SeportException并且返回false Main主程序中使用if(setVoltage),当返回值为true代表成功设定电压,可以继续进行,否则要考虑如何处理设置电压失败的情况
  • 方法二(推荐):
Created with Raphaël 2.1.0 SePort类中有一个send(voltage)函数,他会抛出SeportException的异常 Main主程序中使用try(send(voltage)) catch (SeportException),将异常处理的代码放在catch模块中进行处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值