发布时间:2023-05-18 18:30
无论是什么编程语言写的程序,在运行时,都会出现各种异常,我们作为写代码的人,要对它们什么时候会抛出怎样的异常心中有数,要不然一旦出现错误,就成这样了:
如果你在你的电脑上没有见过下面这张图:
那么恭喜你,说明你还很年轻,连XP系统都没用过的人真的是少年啊。
不过,我们今天要说的是Python中的异常,它通常长这个样子:
重点来了
为了让大家能够避开各种枯燥理论,本文不会搞很复杂的什么分类啊,继承啊之类的。我们直接简单粗暴地解决我们工作中的问题:
问题1:什么时候会遇到错误和异常?
一句话:当Python遇到自己不能处理的问题时,就会抛出异常。什么是自己不能处理的问题?你让一个数除以0,你让它去读取一个不存在的文件,你明明断网了非得要让它去爬取某网站的数据。
问题2:怎么处理错误和异常?
一句话:别管它(不要打我,话还没说完呢),或者捕获它。
三种情况:
如果是一个不与用户交互的程序,你不管它也没啥问题,出错了去看错误信息,修复就好了如果你写的程序是一个对稳定性和性能要求很高的程序,那更是要对错误和异常小心处理好,不能随便就扔了不管如果是一个要与用户交互的程序,出错了你就不能不管我们说第三种情况:因为你如果给用户一个这样的页面:
我相信用户会立即离开你的软件系统,这真是太忧伤了,如果你把这个异常截住了,不要让让它显示给用户,而是采用下面的策略提示用户:
某个东西找不到了,请稍等系统有点故障,请稍后再试系统似乎有点问题,请联系某人是不是就好多了?今天来张图让你看看别人的系统出现异常后给用户的提示页面做得有多优雅:
现在,我在我自己的项目中,如果遇到一个文件不存在的异常时,我在视图中处理用户请求时这么做:
注意代码第86行,草莓1.jpg这个文件是不存在的,所以一定会走异常
再看我的HTML代码,也就是error.html的内容:
现在,我再请求cloud这个view,就会有下面这个页面:
我这个人写代码还行,审美不好,这么漂亮的页面不是我设计出来的,是我从网上找来的,向原作者致敬。本项目的代码已经在Github上开源了,大家在评论区沟通地址,正文区不能放网址。
问题3:我想要自己抛出一个错误和异常怎么做?
代码在此,照着抄:
顺便提一句,上面图的这个四则运算的代码,是我8岁的女儿写的,不是我写的。向她致敬。
最后,是时候了解一下Python3的异常执行流程了,上一张图,相信聪明的你就秒懂了:
运行我这段代码,就成了:
到这一步,恭喜你,你已经会对Python中的错误和异常理解并且掌握了,会用了。至于深层次的理论,有时间了看看书吧,看手机挺废眼睛的。
2、Deep Learning in Higher Dimensions
【VisionMaster 行业应用案例】第三讲 多相机阵列大尺寸测量应用
03_Linux基础-文件类型-主辅提示符-第1提示符-Linux命令-内外部命令-快捷键-改为英文编码-3个时间-stat-其他基础命令
《MATLAB智能算法30个案例》:第3章 基于遗传算法的BP神经网络优化算法
初入微前端---qiankun学习这一篇就够了,并在vite中使用qiankun
centos7安装打印机 cups页面管理 java程序驱动打印程序