python中用来抛出异常的关键字是(C)
A.try B.except C.raise D.finally
( C )类是所有异常类的父类
A.Throwable B.Error C.Exception D.BaseException
对于except字句的排列,下列哪种是正确的( C )
A.父类在先,子类在后
B.子类在先,父类在后
C.没有顺序,谁在前谁先捕获
D.先有子类,其他如何排列都无关
在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来完成。
A.try字句 B.catch子句 C.finally字句 D.raise子句
当方法遇到异常又不知如何处理时,下列哪种说法是正确的( B )
A.捕获异常 B.抛出异常 C.声明异常 D.嵌套异常
自己动手编写一个列表越界的异常。
list_1=[1,2,3,4]
print('list_1[20]')
list_1=[1,2,3,4]
try:
print(list_1[20])
finally:
print('index out of bound!')
list_1=[1,2,3,4]
try:
print(list_1[20])
except:
print('index out of bound!')
def yunsuan(a,b):
if b==0:
raise Exception('分母为零')
else:
print('a/b')
import math
def RadioError(Exception):
def __init__(self,info):
self.info=info
def show(self)
print(self.info)
def CCircle(r):
if r<0:
raise RadiosError('半径为负值')
else:
print(math.pi*(r**2))
list_1=[]
for i in range(5):
try:
j=int(input('请输入一个整数:'))
except:
print('请输入整数!')
else:
list_1.append(j)
if len(list_1) != 5:
raise Exception ('请输入至少五个整数!')
def sanjiao(a,b,c):
if a+b>c and a+c>b and b+c>a:
print(a,b,c)
else:
raise IIlegalAargumentException('不能构成三角形')
sanjiao(3,4,5)
sanjiao(1,4,5)
以上代码可以实现,但是下面这个不能实现,目前还没找到原因,不知道为啥。
def sanjiao(a,b,c):
if a+b>c and a+c>b and b+c>a:
print(a,b,c)
else:
raise IIlegalAargumentException('%s,%s,%s不能构成三角形',a,b,c)
i=input('给一个边长:')
j=input('再给一个边长:')
k=input('还有一个边长:')
sanjiao(i,j,k)