在编程的过程中遇到报错信息是一件再普通不过的事情了, 当然这也是编程过程中很让人头疼的一件事了. 其实,只要耐心, 你会发现你遇到的所有错误,几乎在Stack Overflow
和github issues
中都能找到解决方案, 关键是如何去找的问题.
正确认识报错: 报错不是你学习路上的拦路虎, 恰恰相反, 报错是编译器派过来帮助你解决问题的向导. 你如果无视这位向导说的话, 那你势必要走无数弯路. 反之, 你可以轻松解决问题.
此类问题, 一般很好解决. 报错中提示需要执行某命令, 跟着指示执行即可
举例说明:
An error occurred while installing nokogiri (1.8.4), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.8.4' --source 'https://rubygems.org/'` succeeds before bundling.
提示make sure XX, 执行提示的命令即可
gem install nokogiri
如果是Python可能有的提示是ModuleNotFoundError: No module named XX
报错module找不到, 可能是没有安装某个库.
warning
的信息暂时可以不用理会; 遇到error
打头的信息需要注意; 如果终端是彩色的话, 红色报错信息, 一定要注意. emoji
哪个回答, 认同的人多, 就最有可能解决你的问题.一般情况, 按照上面的思路, 可以解决问题. 但是如果没有找到合适的解决方案, 怎么办?
总体来说有两个策略.
对于小白来说, 半个小时的排错过程, 差不多是心里承受的极限了. 记得当时学C语言的时候, 在while()后加了一个;
,形成了死循环, 当时和一个室友,盯着程序看了一晚上才解决, 对于这种情况, 要学会止损. 如果浪费一个晚上, 去死盯着不能解决的bug, 能不能解决bug先不谈, 那种崩溃的心理过程, 会严重打击人的积极性和兴趣. 这不是一个好策略.
好的套路:
1. 先独立解决, 设置半小时(或一小时,根据自己的情况定)的排错时间值, 如果超过了这个时间还没有解决, 先暂时放下.不要一个人再排错了
2. 此时可以选择找其他同学(同事),帮助自己分析( 转换视角)
3. 也可以记录笔记, 然后放松一下. 过一段时间(eg. 第二天), 然后再开始解决(明天的你和今天的你视角也是不同的) ,然后再开始尝试解决问题.