重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章给大家分享的是有关如何在python中 自定义异常和捕捉异常,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创新互联公司是专业的从江网站建设公司,从江接单;提供网站制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行从江网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!异常捕捉:
try: XXXXX1 raise Exception(“xxxxx2”) except (Exception1,Exception2,……): xxxx3 else: xxxxx4 finally: xxxxxxx5
1.raise 语句可以自定义报错信息,如上。
2. raise后的语句是不会被执行了,因为已经抛出异常,控制流将会跳到异常捕捉模块。
3. except 语句可以一个except后带多个异常,也可以用多个语句捕捉多个异常,分别做不同处理。
4. except语句捕捉的异常如果没有发生,那么except里的语句块是不被执行的。而是执行else里的语句
5. 在上面语句中try/except/else/finally所出现的顺序必须是try–>except X–>except–>else–>finally,即所有的except必须在else和finally之前,else(如果有的话)必须在finally之前,而except X必须在except之前。否则会出现语法错误。
6.else和finally都是可选的.
7.在上面的完整语句中,else语句的存在必须以except X或者except语句为前提,如果在没有except语句的try block中使用else语句会引发语法错误。
异常参数输出:
try: testRaise() except PreconditionsException as e: #python3的写法,必须用as print (e)
自定义异常,只需自定义异常类继承父类Exception。在自定义异常类中,重写父类init方法。
class DatabaseException(Exception): def __init__(self,err='数据库错误'): Exception.__init__(self,err) class PreconditionsException(DatabaseException): def __init__(self,err='PreconditionsErr'): DatabaseException.__init__(self,err) def testRaise(): raise PreconditionsException() try: testRaise() except PreconditionsException as e: print (e)
注意:PreconditonsException又是DatabaseException的子类。
所以如果,raise PreconditionException的话,用两个异常类都可以捕捉。
但是, 如果是raise DatabaseException, 用PreconditonsException是捕捉不到的。
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
以上就是如何在python中 自定义异常和捕捉异常,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。