python try用法_try,raise等的python的使用方法介绍

news/2023/6/10 21:47:07

正常写代码时会遇到错误,导致错误之后代码无法继续(错了为啥还要继续……界面友好呗,别让别人用着用着崩溃了……)。所以提出了try...except(这个java的tyy...catch很像)。一个try至少带一个except(或finally,见下一个),except负责处理异常,可以处理一个或多个,多个可以用括号括起来,逗号分隔,或者不写表示处理所有。

1 try:

2 pass

3 except (IOError ,ZeroDivisionError),e:

4 print e

5 #这里面就是处理了两个异常,另外,那个e前需要一个逗号哟

try ....except...else 语句,当没有异常发生时,else中的语句将会被执行。

例子:

copycode.gif

1 a=10

2 b=0

3 try:

4 c = b/ a

5 print c

6 except (IOError ,ZeroDivisionError),x:

7 print x

8 else:

9 print "no error"

10 print "done"

copycode.gif

运行结果:

0

no error

done

*************

另外,try也可以和finally连用,包括try...except...finally也是可以的,这个和JAVA一样,无论结果如何都会执行finally内的代码。

*************

raise也可以抛出异常,它是“引发一个异常”(引发?是不是说其实不一定真的有异常,但可以强制抛出来一个?)

例子:如果输入的数据不是整数,则引发一个ValueError

1 inputValue=input("please input a int data :")

2 if type(inputValue)!=type(1):

3 raise ValueError

4 else:

5 print inputValue

假设输入1.2,运行结果为:

please input a int data :1.2

Traceback (most recent call last):

File "C:/Users/lirong/PycharmProjects/untitled/openfile.py", line 3, in

raise ValueError

ValueError

如果输入1,运行结果为:

please input a int data :1

1

*********

最后呢,还可以自己自定义异常(重点是格式):

自定义一个MyException类,继承Exception。

1 class MyException(Exception):

2 def __init__(self,message):

3 Exception.__init__(self)

4 self.message=message

如果输入的数字小于10,就引发一个MyException异常:

1 a=input("please input a num:")

2 if a<10:

3 try:

4 raise MyException("my excepition is raised ")

5 except MyException,e:

6 print e.message

运行结果:

please input a num:1

my excepition is raised


https://dhexx.cn/news/show-16796.html

相关文章

linux命令监控dubbo请求,linux dubbo monitor监控中心安装

1.环境配置2.下载dubbo监控中心代码dubbo monitor监控中心代码下载地址&#xff1a;https://github.com/apache/incubator-dubbo/releases&#xff0c;找到dubbo-2.6.0并下载(可能并不是按版本号顺序所以要在下面找一找)3.编译打包dubbo monitor解压下载的dubbo-2.6.0.tar.gz&a…

summernote 字体名字不显示_王者荣耀怎么在游戏中输入空白名字 王者荣耀空白代码一览...

王者荣耀空白代码是什么&#xff1f;在王者荣耀中很多玩家都想使用空白的游戏名字却不知道该如何输入&#xff0c;下面就是小编为大家带来的空白代码了&#xff0c;不知道如何在游戏中输入空白名字的小伙伴们一起来看看吧&#xff01;王者荣耀空白代码是什么方法一&#xff1a;…

linux补全文件名的快捷键,linux :补全,快捷键,history,alias,变量,管道,命令通配符等...

linux bash基础特性linux基础特性1 补全系统支持的shell&#xff1a;#cat/etc/shells当前系统默认shell&#xff1a;#echo $SHELL命令补全&#xff1a;若给定的字符能够在系统中唯一的标识某个命令程序文件&#xff0c;按tab键&#xff0c;则能直接补全命令&#xff1b;如果不能…

LeetCode Median of Two Sorted Arrays

原题链接在这里&#xff1a;https://leetcode.com/problems/median-of-two-sorted-arrays/ 题目&#xff1a; There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should…

无法打开元数据文件_数据文件安全的重要性。在M国搭建的网络上,安全吗?...

文档数据安全一直是电子办公中比较重视的一个环节&#xff0c;而不同的企业采取了很多不一样的措施来保护电子文档&#xff0c;比如传统说的物理隔绝方式&#xff0c;或者内网模式&#xff0c;都是想从根源上杜绝数据泄密&#xff0c;但是随着网络变相攻击和内部人员因素&#…

linux上传文件命令是什么,linux上传文件命令_linux上传下载文件命令

最近在服务器上面上传下载文件&#xff0c;为了方便安装了一个小工具lrzsz&#xff0c;这个工具的使用是有一定的限制的&#xff0c;只能在xshell中使用&#xff0c;接下来吾爱编程就为大家介绍一下linux上面使用lrzsz上传下载文件&#xff0c;有需要的小伙伴可以参考一下&…

Android 自绘TextView解决提前换行问题,支持图文混排

先看下效果图&#xff1a; 上面是MTextView&#xff0c;下面是默认的TextView。 一、原因 用最简单的全英文句子为例&#xff0c;如果有一个很长的单词&#xff0c;这一行剩余的空间显示不下了&#xff0c;那么规则就是不打断单词&#xff0c;而是把整个单词丢到下一行开始显示…

linux改密码显示拒绝权限,linux修改密码出现Authentication token manipulation error的解决办法...

年底需要修改一次密码&#xff0c;修改的时候遇到了问题&#xff0c;无法修改密码&#xff0c;经过baidu、google&#xff0c;找到了可能引起的原因&#xff0c;成功修改密码。以下内容来自于网络。Authentication token manipulation error发生该错误原因是&#xff1a;1、分区…

hibernate中session的获取使用以及其他注意事项

hibernate中session的获取使用以及其他注意事项 前言&#xff1a;工作时&#xff0c;在同时使用Hibernate的getSession()、getHibernateTemplate()获取Session后进行数据查询时不是出现了"session is close"异常就是出现其他异常问题&#xff0c;痛定思痛&#xff0c…

前端工程与性能优化

1.0时代 前期模块化已经做的不错了&#xff0c;至少不必花大量时间去重构代码。模块划分如下图&#xff0c;逻辑层次上还是比较清晰。 前端模块化依赖的主流库也就数国内的Seajs和国外的requirejs&#xff0c;这里就不陈述。采用了Seajs作为模块管理器&#xff0c;zepto作为基础…