python中关于异常处理的编程题:
- 自定义方法Sanj,其中有参数 x,y,z,作为三边长,内置方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。
def NotSanjiaoException(Exception):
def __init__(self,info):
self.info=info
def show(self):
print(self.info)
def getArea(a,b,c):
p=(a+b+c)/2
if a+b>c and a+c>b and b+c>a:
S=sqrt(p(p-a)(p-b)(p-c))
print(s)
else:
raise NotSanjiaoException
def showinfo(a,b,c):
if a+b>c and a+c>b and b+c>a:
print(a,b,c)
else:
raise NotSanjiaoException
def sanj(a,b,c):
getArea(a,b,c)
showinfo(a,b,c)
- 编写如下异常类:
年龄低异常,年龄高异常,工资低异常,工资高异常,身份证非法异常(自定义异常)。
编写一个员工类,
(1) 有属性:
编号,姓名,年龄,工资,身份证号码,员工人数,员工工资总额
(2) 有构造器:
构造器1:设置编号,年龄,姓名;如果年龄小于18,抛出年龄低异常;如果年龄大于60抛出年龄高异常,如果姓名为null或为空字符串,抛出空异常。
构造器2:设置工资,设置身份证号码;如果工资低于600,抛出工资低异常。
(3) 有方法
增加工资 addSalary(addSalary),抛出工资高异常,当增加后的工资大于员工工资总额时,抛出此异常。
减少工资 minusSalary(minusSalary), 抛出工资低异常,当减少后的工资低于政府最低工资时,抛出工资低异常。
显示员工工资总额方法:showTotalSalary(), 抛出空异常,当工资总额为0时,抛出此异常。
显示员工人数:void showTotalEmployee(),抛出空异常。当员工人数为0时,抛出此异常。
编写测试方法:Test
分别生成3个员工,测试构造方法的异常抛出。
每个员工分别增加,减少工资,测试方法的异常。
显示员工的人数和工资总额。
这个好像还没有学,下次写。