https://blog.fundebug.com/2017/11/27/proper-error-handling-javascript/ https://segmentfault.com/a/1190000011481099 https://github.com/hawx1993/tech-blog/issues/13