异常组件的使用

在论坛搜索了一下, 关于异常的使用介绍的相对较少, 但这个在我们机器人运行过程中又必不可少. 因此, 我提出一点我使用时的技巧, 仅供参考.

  1. 比较普遍的一种情况是这样的: 当运行时如果有些偶发性的弹窗, 怎么保证关闭它并且不会影响流程的继续进行呢? 方案: 在可能出现这种情形的组件前面加上一个 try 来防止偶发中断流程.
    范例 (如: 在打开 excel 的时候, 偶尔会弹出是否保存或是是否更新之类的提示, 便可以采用 try 来防止影响流程):
    异常组件的使用

    2. 我们在点击或是别的操作或许因为网速或是其他原因会导致操作失败, 这时我通常会采用 try+while 来解决此类问题. 先设置一个变量, 给它一个值 (代表你想要点击出错后重新尝试的最大次数), 然后用 while 来判断是否尝试, 再用 try 去包裹这不太稳定的步骤, 如果一次就通过, 便 break 中断, 如果失败, 变更变量值 (我采取的是代码块, 就一句 count-=1 就行, 图中采用设置变量方便查看, 但貌似设置变量不太稳定, 故不推荐), 再次循环, 直到成功或者超出最大限制次数, 便结束操作.
    异常组件的使用

    3. 在我们运行异常想了解报错信息的时候,try 的作用就更大了, 你可以直接使用消息框查看原始的报错信息, 也可以自己定义报错信息方便后续问题处理或是反馈客户.

    3-1. 查看原始报错信息
    异常组件的使用
    这样子, 操作出错便会弹出消息框, 内容就是报错信息

    3-2. 自己定义报错信息
    异常组件的使用
    代码块中只有一句 raise Exception(‘XXX 页面加载异常’), 其中 raise 就是抛出异常的前缀词, 从这里抛出的 try 的异常那头就能接收到,Exception 是所有异常类型的父类, 当然你也可以获取特定的异常, 不过通常不需要这么做. 最后括号里的字符串就是你想要得到的自定义的报错信息, 你写什么, 它异常的时候就会在消息框体现什么.