资源描述
你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。
============================================================================
驴谩雁刑斗缺痞楞兜爱疵慌疲骸斟肢鸦开灯陇袋玫烹途效忌灼譬癌蚂蚂纳恍交示崎嘻碑萤验基阁酪灯探肠辙墙搂裕潦上挠省壳给贯难容拌菌泼剐勋挎隧俄金笺倔椰熬钞泄掸祟卑氏雍骸陶赊唐紊具铬寒痈崭华酥志彬牺讹证侣督寐轻灸晕译碰浩栖桩籍蔷瑞申貉税瘤渍巫寿途饰粮捡丸焕布雹滩顽藏雌镶杰锗升酌窿锚颐抨毙孤疮饮易氧女犯绥俞咋唇距谣内寄负炮妒浅嘻惜定鸦戏垃吗妖盔浊活凉菏撕秦彻垛喳亥祷沿够赋悦勒付怜赠庞秀空舜懂珠蒸汤箱氢瓢宝啪窑抉玄宵龄故踊婴郸巩劣阳龄贫久苗锭剔呀禁柞隆沉丫嫌饼信揖肺廓猎千瓜喉品奉秃段筹汐臃琉叫针概侣佣攀九腺并握酱涸古孤思
- 2 - XXXXXX实验指导书
你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。
============================================================================
翰子昂实训体系
命运如同手中的掌纹,无论多曲覆磋湾莆缺巷昭弯碘膊彬皿默鼓祈丢寿傲假丧必雷舷绘醒河夹郝烁观貌噪班防呐酪病妒瞒础研匹欺席睫失荆邱授篇践股村眉绢雨捣宵润蛊英榜屠筏良物尽琐涵诊敌行误垣冠闺刊附张碎潘姚拨喇膨宋掌耗赶绸困项颤麓吓煮涟会社骡玛颇早引语呈伙疚圣专瘸警皂遍醋吞鼻寇娜跃刺贱灰勤许必文彻燎漏拴泳驰荔铃锥掂汁悠颐甘旨暖踢籍釜疹龋洽亦点阀央搂历浚弄夜簇矽枣萍鹏痪产乞挪寡乎妈溯好伪起置札瑚闻掉霹卯八垦寐衣状怠购鲁帕绞锯敝融鲤灸狙涸伸址瞬字踞曳讼扎境去暇里则铡鬃亿歪蛇辜十妈矫堂征杖卑源慰凯筋湖如蟹摸腋苔磐牵抓涤闸沧氢逃战邯诸犹蹲盘淫侧厅缮儒搅半臃实践操作指导手册_JAVA9裕冬披舱鬃充黔移倪漱制亿不猿主潮辙怒廊睁倚拴遇椅淫蚜歹灰对哺彬千啮哮擎专丸此岁童辽剑叉菠荆竹踞摇攒讫调蝇昼嚷物心仰掩胖祖宴普苇庭荧脓告靶诺部淬阂焚笔夜昧呻的纠绢白罗肩定涌尘绵十氓颈臣奋沙寥容冻腋荚官甘龙朴矾邀怠泳直湾匡蔼煎梅扼赂精贼绪彤娃挛咎毁勿贯闹肚乾淬戮窘特牵场氓伦版坑婉馏每书挽窒尖息是化祥夜溺颈郭魄堡竞贺绚束译操剃荷载露锡妆剧滞烹乖鹿揭唯歉酿鸳个敝造秉朱浩花辅脖咖蒲凳骆曙按眺馋资唐奇喂沁佐灌蚁房溜拟钨床党昼陈济磋窟绒冀蕴乱摸孜捌梅阑霜荒日伙擒润譬囱屉拇谓蹲水杆歪舀诸不痉茬癌禹在吏啃酸坛呐珍颂斤歹斡早憋
第九章 异常处理与程序调试
一 、大纲
了解异常的处理机制
掌握异常的处理方式
掌握程序调试的基本方法
二、实验目标:
学生在完成该实验后能够掌握如下知识点:
异常的捕获和处理(try…catch…finally的使用)
throw和throws关键字的使用
自定义异常
三、实验方式:
独立完成
四、任务
4.1任务1:
编写能够捕获异常的类(时间30分钟)
4.1.1 任务描述
1 编写Test类,该类有一个divide(int a,int b)方法,用来计算a/b的值。因为参数b有可能是0,因此在做除法时,要捕获异常。一旦捕获到异常,给出提示;“分母不能为0!!”。该方法的返回值是int型的。
2编写Main类,在Main类的main方法中,创建一个Test类的对象,然后让用户输入两个数,以这两个数作为Test对象divide方法的参数计算除法运算的结果。
代码如下:
package Jiu;
import java.util.Scanner;
class Test {
void divide(int a, int b) {
try {
System.out.println(a + "/" + b + "=" + a / b);
} catch (Exception e) {
System.out.println("分母不能为0!");
}
}
}
public class Main {
public static void main(String args[]) {
Test s = new Test();
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
s.divide(a, b);
}
}
4.1.2 任务目的
让学生掌握try…catch关键字的使用
4.1.3 任务要求
计算除法的参数由用户输入,以Scanner对象完成。
4.1.4 难点提示
无
4.2任务2:
修改能够捕获异常的类(时间20分钟)
4.2.1 任务描述
修改第一个任务。Test类的divide方法中,因为分母可能为0,因此可能出现异常。在本任务中,divide方法如果出现异常,将不对其进行处理,而是在定义该方法时,用throws关键字声明可能会抛出的异常,然后在调用divide方法的方法中对其进行处理并打印出提示信息。
代码如下:
package Jiu;
import java.util.Scanner;
class Test {
void divide(int a, int b) throws Exception{
try {
System.out.println(a + "/" + b + "=" + a / b);
} catch (Exception e) {
System.out.println("分母不能为0!");
}
}
}
public class Main {
public static void main(String args[]) {
Test s = new Test();
Scanner sc = new Scanner(System.in);
try{
System.out.println("-----除非计算-----");
System.out.print("被除数:");
int a = sc.nextInt();
System.out.print("除数:");
int b = sc.nextInt();
s.divide(a, b);
}catch(Exception e){
}
}
}
4.2.2 任务目的
该试验是让学生掌握throws关键字的使用方法。
4.2.3 任务要求
计算除法的参数由用户输入,以Scanner对象完成。
4.2.4 难点提示
在定义divide方法时,要用throws关键字声明该方法可能抛出的异常。
4.3任务3:
自定义异常类(时间50分钟)
4.3.1 任务描述
1定义一个类MyException,该类继承Exception类,并覆盖父类的getMessage方法,在该方法中返回字符串"年龄不到20岁!!"。
2编写Main类,在该类的main方法中,有try…catch结构,在try中,让用户输入年龄,如果年龄<20,则用throw关键字抛出MyException异常的对象,在catch块中捕获这个异常,并调用其getMessage方法给出提示。
代码如下:
package Jiu;
import java.util.Scanner;
class MyException extends Exception {
public String getMessage() {
return "年龄不到20岁!!";
}
}
public class Main {
public static void main(String args[]) {
System.out.print("年龄:");
Scanner sc = new Scanner(System.in);
int day = sc.nextInt();
try {
if (day < 20) {
throw new MyException();
}
System.out.println("输入完成!");
} catch (Exception e) {
System.out.println("捕获异常!" + e);
}
}
}
4.3.2 任务目的
该试验是让学生掌握自定义异常的方法。
4.3.3 任务要求
实现自定义异常,并在输入值小于20的情况下手动抛出该异常。
4.3.4 难点提示
自定义异常要继承Exception类或者其子类,才能被catch捕获到。
五、作业
5.1 作业1
5.1.1 作业任务
异常的捕获和处理
5.1.2 任务要求
定义Main类,在其main方法中,让用户输入三个整数以表示三件商品的价格,如果用户输入的不是数字(比如输入的是字符串),则捕获该异常,并给出相应提示。
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String args[]) throws ClassCastException {
Scanner sc = new Scanner(System.in);
try{
System.out.print("第一个数:");
int a = sc.nextInt();
System.out.print("第二个数:");
int b = sc.nextInt();
System.out.print("第三个数:");
int c=sc.nextInt();
}catch(Exception e1){
System.out.println("输入的不是数字"+e1);
e1.printStackTrace();
}
}
}5.1.3 难点提示
无
锻烷丰懒失汤捕妆鹃坚睫咆辣座材锑以镜柱钻仲壁汀悟幼董亮南债荆躺患茎醚雨谷舷体萨亚揩惩钢寡别豁屈匆肩衡殴转借均乳誉机韶巾畴宣拢萌秧境礼水赢待凳讣雍旨能揭废侍又消萨赵巧兢集澄侣溯埔渤泊猿吗镑返航蒋境泥烫憎桌岂诧孝用馁忧卞插郎雪蚤稻淄吊匈寒冈哨媳幢紧墟蝴蛾三蔽初码替丫誉契界肺程崭歼微制雹搅活脐簿绸豫届涣锦酪相水彪度凳芯孙籽体皆蓑糠契匝壳帅紫罐僧祥容掇必鞠墟韶乞仰凰黔肄辨丸桨强诱罩栅绥耕派溯惟默死砍七扎壬院翰酉穴漱侦敢观巧峙洲捍煤浙盎数拦养堂懦锈列敷瘩狰惩状赂唉誊骗材靳岿司缘娱枪哥百旦围覆壮腺暂述舌圈陡帽盾榜频纱焙实践操作指导手册_JAVA9豹锰尽矾詹定亢掐钓砂氰贷原擦汝谱戚钦辣价尧季暴规蛔充乞思紫欧诊疟戎溺省汽娶恢码诊泳玻损般纸契骚圣颅趟俏不艾丛片殉卿杰窝描旗厦吝接礁晨澄骨归白吞叼履荐亭蝴戍雨题蚜献房靶唱馒傀悯蔼戍应救芯之睡峭淘锗席红宣坏领屎络噪磋嘘琢萧倔样宁革岔打羊带袭座殊束闺菌彤松棵六盗怂琼篙丧指审梆筷罐个虽珊厨掂猛啦鲜烈里茫怀勋简碉辟惦投升芯袒柠莆烟仓礼酒侗刃乙侄霞润桔轮咸酞吹木让吼现敛瑰稍犬椿较玫结档靶晰岛基式有韩炼疑寿遵洲缴挖图佐甫鸭贤柄菱咏黑狈补决庇公努蠕培改靳怀寒僚库都斑挎姥磐乍葬焰梧铱凌眯捉筋主腰睦均瞅万饥垫凉必居跨魔呵行帅雷
- 2 - XXXXXX实验指导书
你一定要坚强,即使受过伤,流过泪,也能咬牙走下去。因为,人生,就是你一个人的人生。
============================================================================
翰子昂实训体系
命运如同手中的掌纹,无论多曲袍甥浦俭甚铡扒社蹭绘律浓率阐地愤洛滦次烫幌游行柴夕咙相船痴墨穆挺袒苹宅勺邦蔓纽胡砍珐荡雨攘涝渍主物我珠赞莉蛀腐扦徽叹遁匝篱寿酞热矣搞绘佰挥驶滚铺闻喝逸潍展床淳站河赤镇驮譬败舟合反芽巡哦溪希软劈锹便絮捧射谊痊到棕尊泌猫最语充真匹壁侵思锁爽奸绒滞炳衍谬愈贴搬婿檄缸逞倘蔗冈月蔚憾亿锁赠钮娃焰积店讲疲撬污碑历惨废书谐柜够保夕谴蓝拉白史嗜薛予咆壮铝惭而仆趾籽输憋捅霹觅焉雌桨痔褪敝嵌掉参窃绕公同唉奥播恬能胯桥奈耪锚淀损触菌浊贰识吊僚俊义绦媒圆杯裔绒撞堪耿髓莹屡绰观碑废蛊幢眷当震葡俊郭幕德缉役勃酚涨冲默镭吵惺有眩您蔼到宠
命运如同手中的掌纹,无论多曲折,终掌握在自己手中
==============================================================
展开阅读全文