异常01
#在程序开发中,如果对某些代码的执行的不确定(程序的语法完全
#可以增加try来捕捉异常
try:
num = int(raw_input('请输入一个整数'))
except:
print '请输入正确的整数'
在程序开发中。如果对某写代码的执行不确定(程序的语法完全正确)可以增加try来捕获异常。
Try:
尝试执行的代码法
Except:
出现错误的代码
异常02
#提示用户输入一个整数
#使用8除以用户输入整数还输出
#输入的不是数字
#0不能做除数法
#当python解析器有异常时,最后一行错误信息的第一个单词,就是错误类型
try:
num = int(raw_input('请输入一个整数'))
result = 8 / num
print result
except ZeroDivisionError:
print '除0错误 0不能作除数'
except ValueError:
print '请输入正确的整数'
异常03
#捕捉未知的错误:
#在开发的时候。要判断所有可以出现的错误,是有一定难度的,如果希望程序无论出任何错误
#,都不会因为python解析器出现异常而终止可以再增加一个except
try:
num = int(raw_input('请输入一个整数'))
result = 8 / num
print result
#except ZeroDivisionError:
# print '除0错误 0不能作除数'
#except ValueError:
# print '请输入正确的整数'
#捕捉未知异常
#result: 一个变量,可以随便
except Exception as result:
print '未知错误额 %s' %result
异常04
# try:
# 尝试执行代码
# pass
# expect 错误类型1:
# pass
# expect 错误类型2:
# pass
# expect Exception as result:
# else:
# 没有异常才会执行的代码
# pass
# finally:
# 无论是否有异常,都会执行的代码
# pass
try:
num = int(raw_input('请输入一个整数'))
result = 8 / num
print result
#except ZeroDivisionError:
# print '除0错误 0不能作除数'
#except ValueError:
# print '请输入正确的整数'
#捕捉未知异常
#result: 一个变量,可以随便起名
except Exception as result:
print '未知错误额 %s' %result
# 只有在没有以异常的时候,才会执行的代码
else:
print '尝试成功!'
#无论是否有异常,都会执行的代码
finally:
print '**************'
异常05
# 异常的传递
# 异常的传递 -- 当函数/方法执行出现异常,会将异常传递给函数/方法调用的一方
# 如果传递到主程序,依旧没有异常处理,程序才会终止.可以在主程序中增加
# 异常捕捉.而在主函数中调用其他函数,只要出现异常.都会传递到主函数的异常
# 捕捉中,这就不需要在代码中,增加大量的异常捕捉,能够保证代码的整洁
def demo1():
return int(raw_input('请输入整数:'))
def demo2():
return demo1()
# 利用异常的传递性,在主程序中捕获异常
try:
print demo2()
except Exception as result:
print '未知错误 %s' % result
异常06
# 判断用户的输入的密码
# 1.<8 错误
# 2.>=8 返回输入的密码
def input_passwd():
# 1.提示用户输入密码
pwd = raw_input('请输入密码')
# 2.判断密码的长度 >-=8,就返回用户输入的密码
if len(pwd) >=8:
return pwd
# 3.<=8,主动写出异常
# print '主动写出异常'
# 1.创建异常对象(可以添加错误信息)
ex = Exception('密码长度不够')
raise ex
# 注意:只出现异常不捕捉异常,代码就会出错
try:
print input_passwd()
except Exception as result:
print result
# 先创建异常对象,在写出异常,再在主函数中捕捉异常
断言
def func(num,div):
assert (div !=0),'div不能为0'
return num / div
print func(10.0)