异常总结

异常;是程序在执行过程中发生的错误。
异常关键字:throw   表示创建一个新的异常对象,交给下一个调用者处理。(用来自定义异常)
throw 关键字后面必须跟一个异常类的实例,也就是说必须是throwable类或者其子类的实例,throw+空格+异常类的实例,这个异常会按照Java异常机制中的传递规则传递,并且最终被处理掉。
1:在方法代码中抛出一个异常的含义是:在当前的代码中遇到了一个不知道怎么处理的情况,所以代码需要创建一个异常来将这个错误描述清楚,并且将这个异常抛出。
2:程序抛出异常后,程序的流程被java异常处理机制接手,直到异常被处理掉,程序再次按照既定顺序执行。
package cn.java.zhangshuai.exception;

public class Cup {
private int capacity;

public int getcapactity(){
return capacity;

}
public void setCapacity(int capacity) {//这里存在着异常,必须抛出一个异常
if(capacity>1000||capacity<0){
Exception  ex=new Exception("杯子的容积不能超过10000或小于0,非法容积为:"+capacity);
//抛出异常
throw ex;

}
//正常情况下更改cap的值
this.capacity=capacity;
}
}
throws:throws  表示把已经存在的异常对象往抛,交给下一个调用者去处理。throws关键字用在方法的声明中,正是用来表示一个方法有可能会抛出某种或者某些类型的异常。throws关键字的用法如下:方法声明+throws+空格+异常类型+,+异常类型+。。。+方法体
上例修改入下package cn.java.zhangshuai.exception;

public class Cup {
private int capacity;

public int getcapactity(){
return capacity;

}
public void setCapacity(int capacity) throws Exception {
if(capacity>1000||capacity<0){
Exception  ex=new Exception("杯子的容积不能超过10000或小于0,非法容积为:"+capacity);
//抛出异常
throw ex;

}
//正常情况下更改cap的值
this.capacity=capacity;
}
}

对于在方法中使用了throw关键字抛出异常,仅仅有两种处理方法,一种是使用异常处理机制在方法内部处理掉;另一种是使用throws关键字声明方法可能抛出的异常类,将异常继续跑出去,
异常的传递:规则是:从某个方法中的某一个throw语句开始,异常将从这个方法(传递到调用这个方法的地方,并且按照调用的顺序去继续传递,直到main()方法。
异常必须被传递出去,否则视为错误。
如果在运行程序时方法的某行代码抛出了异常,那么方法中此行之后的所有代码都不会执行。
3:异常的处理
1.继续使用throws将异常向外跑出。
2.使用try{}catch(){}处理该异常。
当try语句块中发生异常后就会根据异常实例的类型去try语句配套的catch语句中寻找能够匹配这个异常实例的catch语句,如果一个catch语句的异常类型是Exception类型,那么它将用来处理try语句中所有的Exception类型的实例或者exception的子类,如果找到了一个catch语句,那么就会先执行catch语句中的内容来指向异常队向。
多个异常:
try{
}catch(){
}catch(){
}
一个try语句可以匹配多个catch语句,分别用来处理不同类型的异常,匹配的顺序就是按照catch语句来实现的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值