【手把手带你搞定】实用调试技巧什么是bug
之前我们对C语言的知识进行了一一的讲解,但是当我们自己真正写代码的时候,又会发现很多问题,比如程序运行时崩溃、程序运行的结果不是我们想要的等等,虽然代码已经能够跑起来了,但是依然不是理想中的状态。
这时候应该怎么办呢?
别急,现在立即教你使用调试技巧。
手把手带你搞定bug。
什么是bug
大家看看下面这张图:
这是世界上的第一个bug。
   
    抛出
    
     异常
    
    可以让API层try catch 捕获
    
     异常
    
    ,并且在发生问题时候,迅速定位到某行代码,
    
     异常
    
    链占用内存大,
返回
    
     错误码
    
    ,可以让API解析
    
     错误码
    
    ,做某些操作,但是不利于定位服务端代码错误。
举个例子:
1)创建订单 校验是否存在未支付订单,如果API 层要求 如果存在未支付订单,同时返回未支付订单号,方便 API 将数据返回给客户端。
这种情况下,只抛出
    
     异常
    
    就显得不够用了。
    
     真正工作了才发现,Java里面的
     
      异常
     
     在真正工作中使用还是十分普遍的。什么时候该抛出什么
     
      异常
     
     ,这个是必须知道的。
当然真正工作里面主动抛出的
     
      异常
     
     都是经过分装过的,自己可以定义
     
      错误码
     
     和
     
      异常
     
     描述。
下面小宝鸽就为大家介绍一个Java
     
      异常
     
     简单封装的例子。
在给出
     
      异常
     
     分装例子之前,需要给大家普及Java里面的checked
     
      异常
     
     和unchecked
     
      异常
     
     的个概念。
一、check...
    
    
     C++ 标准库中的
     
      异常
     
     是标准库的一个组成部分, 但
     
      异常
     
     并不是 STL 的一部分, 所以下面这些内容里面不会展现任何关于泛型乃至模板相关可能令人不适的内容.
    那, 先在 C 身上找点错误处理相关的乐子.
使用返回码进行错误处理
    上篇文章聊的是一个非常具体的
     
      异常
     
     处理, 而在这个环境中, 使用
     
      异常
     
     是不得已的事情. 在 C 语言单调的世界里,
     
      异常
     
     还是不存在的, 大家都非常和...
    
    
     一个现实的程序离不开错误处理。错误处理使用
     
      异常
     
     还是
     
      错误码
     
     ,这是一个方法论的问题。方法论的问题都是可以扯皮的。事实上,某个时期这两者之争不亚于语言之争。公说公有理婆说婆有理。现在我只想说说我的几点认识,自认为还是比较中肯的:
    1)不用
     
      异常
     
     可以写出很健壮的程序,c里面没有
     
      异常
     
     ,很多c写的程序十分地健壮。
2)使用
     
      异常
     
     可以写出很健壮的程序,java基本上都是靠
     
      异常
     
     来错误处理,很多jav
    
    func low(money int) (int, error) {
	if money < 1 {
		return money, errors.New(fmt.Sprintf("invalid 1---> %d", money))
核心
    
     异常
    
    类:PendingException,较其它
    
     异常
    
    增加了
    
     错误码
    
    的属性。
原则上从service,web层的方法调用中,不允许抛出其它非运行时
    
     异常
    
    ,需要将之转换为PendingException
在某些父类中有将
    
     异常
    
    转化为PendingException的方法
 protected PendingException toPendingException(Exception ex,...