你是个快乐的小矿工,有一天在挖矿,挖着挖着,挖出来一个二战时期遗留炸弹(这就是异常),怎么办?
肯定不能在矿井里就地引爆,直接处理啊,所以要传出去(throw抛出)。
然后你带着炸弹来到了矿井口,发现你们挖的这块地方,是一个二战时期埋弹地,
所以理所当然的,不止你一个人挖出了炸弹,大家都挖出来了,
需要一起传出(throws,这里是throws,表示可以抛出多个异常,一个方法中可能不止一个异常),
传给谁?传给矿井的技术负责人(调用此方法类)进行处理。
大家挖到的都是炸弹,为了区分,你有权给自己的炸弹命名(throw里抛出自定义异常),
你可以起一个超级无敌狂炫酷霸的名字:宇宙霹雳永恒蓝色梦幻光爆弹
(当然除了你,没人知道这个炸弹是干嘛的,甚至你过段时间也不知道这居然是个炸弹名),
或者直接叫TNT二号,因为这个炸弹的性质就是TNT,
只不过放得久了一点,性质会变,但差不多是TNT性质的(自定义异常都是继承现有异常) ,
所以技术负责人看见了炸弹名字叫TNT二号,
就知道按照TNT的炸弹的处理流程进行处理,而不是核弹,细菌弹的操作流程进行处理。
顺便说一句,
受检异常:你挖矿的时候,突然挖到一个奇怪的东西,你知道这是个炸弹,必须传出,不传就不能继续愉快的挖矿了;
非受检异常:你以为是金子,结果一铲子下去,爆炸了,矿就毁掉了(整个程序就挂掉了)。
肯定不能在矿井里就地引爆,直接处理啊,所以要传出去(throw抛出)。
然后你带着炸弹来到了矿井口,发现你们挖的这块地方,是一个二战时期埋弹地,
所以理所当然的,不止你一个人挖出了炸弹,大家都挖出来了,
需要一起传出(throws,这里是throws,表示可以抛出多个异常,一个方法中可能不止一个异常),
传给谁?传给矿井的技术负责人(调用此方法类)进行处理。
大家挖到的都是炸弹,为了区分,你有权给自己的炸弹命名(throw里抛出自定义异常),
你可以起一个超级无敌狂炫酷霸的名字:宇宙霹雳永恒蓝色梦幻光爆弹
(当然除了你,没人知道这个炸弹是干嘛的,甚至你过段时间也不知道这居然是个炸弹名),
或者直接叫TNT二号,因为这个炸弹的性质就是TNT,
只不过放得久了一点,性质会变,但差不多是TNT性质的(自定义异常都是继承现有异常) ,
所以技术负责人看见了炸弹名字叫TNT二号,
就知道按照TNT的炸弹的处理流程进行处理,而不是核弹,细菌弹的操作流程进行处理。
顺便说一句,
受检异常:你挖矿的时候,突然挖到一个奇怪的东西,你知道这是个炸弹,必须传出,不传就不能继续愉快的挖矿了;
非受检异常:你以为是金子,结果一铲子下去,爆炸了,矿就毁掉了(整个程序就挂掉了)。