第六课 异常与I/O流
一、异常
1.错误处理与非本地控制转移
2.异常处理语法
3.异常处理流程
无异常:throw之后的语句执行,引发异常的语句之后的代码执行,catch块不执行。
有异常:throw之后的语句不执行,引发异常的语句之后的代码不执行,catch块执行。
4.异常处理用法
1)抛出基本类型异常,根据异常的值区分不同的异常。
2)抛出类类型的异常,根据异常的类型区分不同的异常。
3)使用异常说明语句。在函数的参数表和左大括号之间写:
throw (异常类型1, 异常类型2, ...)
A.如果没有异常说明,表示该函数可以抛出任何异常。
B.如果异常说明为throw (),表示该函数不抛出任何异常。
C.如果函数抛出了异常说明以外的异常,该异常不可被调用函数的catch子句捕获。
4)继续抛出异常。
5.构造函数中的异常
------------------
练习:薪酬计算
一般员工
/ | \
技术员 经理 销售员
\ /\ /
技术经理 销售经理
所有员工:姓名、工号、职级
经理:绩效奖金
技术员:研发津贴(元/小时)
销售员:提成比例
薪资=基本工资+奖金,其中,基本工资=职级额度*出勤率
奖金的计算因职位而异:
普通员工:基本工资的一半。
经理:绩效奖金*绩效因数(输入)
技术员:研发津贴*工作小时数*进度因数(输入)
销售员:销售额(输入)*提成比例
技术经理:技术员和经理的奖金取平均数。
销售经理:销售员和经理的奖金取平均数。
打印员工信息,输入必要的数据,计算其薪酬。
一、异常
1.错误处理与非本地控制转移
2.异常处理语法
3.异常处理流程
无异常:throw之后的语句执行,引发异常的语句之后的代码执行,catch块不执行。
有异常:throw之后的语句不执行,引发异常的语句之后的代码不执行,catch块执行。
4.异常处理用法
1)抛出基本类型异常,根据异常的值区分不同的异常。
2)抛出类类型的异常,根据异常的类型区分不同的异常。
3)使用异常说明语句。在函数的参数表和左大括号之间写:
throw (异常类型1, 异常类型2, ...)
A.如果没有异常说明,表示该函数可以抛出任何异常。
B.如果异常说明为throw (),表示该函数不抛出任何异常。
C.如果函数抛出了异常说明以外的异常,该异常不可被调用函数的catch子句捕获。
4)继续抛出异常。
5.构造函数中的异常
------------------
练习:薪酬计算
一般员工
/ | \
技术员 经理 销售员
\ /\ /
技术经理 销售经理
所有员工:姓名、工号、职级
经理:绩效奖金
技术员:研发津贴(元/小时)
销售员:提成比例
薪资=基本工资+奖金,其中,基本工资=职级额度*出勤率
奖金的计算因职位而异:
普通员工:基本工资的一半。
经理:绩效奖金*绩效因数(输入)
技术员:研发津贴*工作小时数*进度因数(输入)
销售员:销售额(输入)*提成比例
技术经理:技术员和经理的奖金取平均数。
销售经理:销售员和经理的奖金取平均数。
打印员工信息,输入必要的数据,计算其薪酬。
二、I/O流