异常

来源:互联网 发布:java 开源 paas 平台 编辑:程序博客网 时间:2024/03/28 22:11
---异常(Exception)是程序在执行过程中所产生的问题。


---异常处理是每个程序员都必须要面对的情况,没有没有异常的软件。


---1、凡是能够用代码去纠正的就是异常(Exception):{编译期异常(检查异常)checkedException  运行期异常uncheckedException}。2、不能用代码去解决的问题就是错误,比如硬件问题,运行环境问题等等。


---try-catch       try{里面写在正常逻辑下有可能发生异常的代码}catch(你要捕获哪种异常,捕获的异常类型){处理代码}。


代码示例: while(true){
try{
int result =100/a;
System.out.println(“result=”+result);
break;
}catch(ArithmeticException ae){
System.out.println("请不要输入0")

}
}


---try后面完全允许跟多个catch块。只会抛出一个异常。try后面的cathc块,如果捕获的异常有继承关系,子类在前面,父类在后面。


--- try-catch-finally    不管是否发生异常,都必须执行的代码,写到finally里面。除了System.exit(0);
finally中书协不管是否发生异常都必须执行的代码。
就算前面有return/break等跳转语句,也要先执行finally,再跳转。
通常都是资源的清理,通道的关闭,的链接用完以后的关闭都书写在这个里面。


代码示例:      while(true){
try{
int result =100/a;
System.out.println(“result=”+result);
break;
}catch(ArithmeticException ae){
System.out.println("请不要输入0")

}finally{
System.out.println(“不管发生什么,都必须执行的代码”);
}


---try-catch-finally不能单独存在,try-catch或者try-finally或者三个都在,




---debug:断点   进入某个方法请按F5;


---throw:往上抛;是写在方法体当中的,后面接的是一个异常对象。作用:一但执行到这句代码,就会发生真正的异常抛出动作     
   throws:是写在方法声明的最后,后面跟的是异常类的类名,可以跟多个,中间用逗号“ ,”分隔。  作用:警告方法的调用者,本方法有可能会发生某些类型的异常
          写的位置不一样,后面跟的东西不一样,起的作用不一样。


完整的方法声明: public void c() throws Exception(){
}


---子类重写父类,不能抛出比父类更多的异常(这里的多不是个数,而是范围);


---当throw后面跟的是一个运行时异常的时候,编译器不会强制要求我们书写throws,方法调用者也不会受到警告,就算你加了,本方法的调用者也不会受到警告
   如果throw后面跟的是一个编译期异常(包括Exception),那么编译期将会强制要求我们在后面加上throws。




---自定义异常:1、首先要继承Throwable或者Exception    在Throwable类中有两个方法:ime.printStackTrace。





0 0