当前位置: 首页 > 网络应用技术

有关GO程序错误处理的一些建议

时间:2023-03-09 13:33:12 网络应用技术

  错误处理是每个人都有很多日常生活的地方。我还观察到工作中的一些现象。更严重的是在每个级别的逻辑代码中重复错误处理。

  例如,如果有人编写了代码,它将判断错误并在每一层记录日志。从代码级别来看,它似乎非常严格,但是如果您查看日志,您会发现一堆重复的信息,并且在检查问题时会导致干扰。

  今天,我将总结与三个点代码错误处理相关的最佳实践。

  这些最佳实践也由互联网上的一些前身共享。经过自己的练习,我使用自己的语言来描述它。我希望它可以帮助所有人。

  该程序通过类型的类型表示错误

  类型是一种内部构建的接口类型,它仅指定返回字符串值的方法。

  语言函数通常返回值,呼叫者使用测试值执行错误处理。

  它成功了;非指示失败了。

  我们经常定义所需的错误类型,但请记住要允许这些类型实现界面,以便我们不需要在程序的程序中引入其他类型。

  例如,我们自己定义了这种类型。如果未实现接口,则将呼叫者的代码被这种类型入侵。例如,在定义返回值类型时可以直接定义以下功能。

  如果未实现接口,则必须将此处的返回值类型定义为类型。可以想象,在以下内容中,呼叫者的程序必须判断哪个特定错误(当然,要先导出)。

  然后,呼叫者确定习惯是特定错误时该怎么办,并且不会暴露在袋子上。答案是实现公开错误行为以暴露错误行为的方法。

  还是通过比较暴露于外部的恒定错误是否相等来判断,例如操作文件通常用于确定文件是否结束。

  同样,有一些错误正在等待各种开源包暴露于外界。

  首先查看一个简单的程序,看看您是否可以找到一些微妙的问题

  上述程序的错误处理暴露了两个问题:

  2.在程序的顶部,尽管已经获得了原始错误,但没有相关内容。换句话说,未记录和记录在日志中的信息被包装到错误中并返回上层。

  可以将这两个问题的解决方案添加到基础函数中,将以下信息添加到发生的错误,然后将错误返回到上层,最后处理上层程序中的这些错误。

  一个简单的包装错误是使用功能将信息添加到错误中。

  只需在错误中添加简单的注释信息即可。如果要在添加错误调用堆栈时添加信息,则可以使用此软件包提供的错误包装容量。

  有一个包装方法,有一个相应的包装方法,该方法将返回与包装错误相对应的最原始错误,也就是说,它将被递归地驳回。

  以下是使用重写错误处理过程的使用

  上面格式的字符串中使用的%+V基于%V,并且复合类型的值已扩展,即复合类型的详细信息,例如结构的场值。

  这样,它不仅可以将调用添加到错误中,还可以保留对原始错误的引用,可以将其恢复到开始时错误的原因。

  总而言之,错误处理原则是:

  喜欢网络管理的文章的内容和写作风格,请记住给我更多的人(微信搜索:网络管理BI)