黑马程序员_异常处理

 ------- android培训java培训、期待与您交流! ----------

 

 

 异常:

异常:就是程序在运行时出现不正常情况。

异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述。并封装成对象。其

实就是java对不正常情况进行描述后的对象体现。

异常的处理:

try

{

    //需要被检测的代码;

}

catch(异常类变量)

{

    //处理异常的代码;(处理方式)

}

finally

{

    //一定会执行的语句;

}

当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作。

要么在内部try catch处理。

要么在函数上声明让调用者处理。

一般情况在,函数内出现异常,函数上需要声明。

对于异常分两种:

1、编译时被检测的异常

2、编译时不被检测的异常(运行时异常。RuntimeException以及其子类)

Finally的使用:一般在finally中回收一些资源,比如数据库连接的关闭、IO文件

流的通道关闭、临时变量的指针回收等等操作。唯一存有疑问的可能就是finally

的执行时机。到底是在return之前还是之后,实际上如果一个try块存在return了,

那么如果这段try块有相应的finally的话那么return操作先挂起,之后执行finally中

的代码,如果finally代码块没有return,或者其他影响try块的语句的话,那么执行

完finally代码段之后再执行return语句。什么情况下finally中会影响try中的return

执行呢?就是finally中也存在着return语句,或者System.exit(0);这种系统级关闭

的语句。

finally代码块:定义一定执行的代码。通常用于关闭资源。

try

{

   

}

catch ()

{

}

try

{

   

}

catch ()

{

}

finally

{

 

}

 又或者

try

{

   

}

finally

{

}


异常练习:try catch finally练习 

class LessThanZeroException extends Exception 
{ 
public LessThanZeroException(String s) 
{ 
super(s); 
} 
public LessThanZeroException() 
{ 
this(""); 
} 
}
public class Mult1 
{ 
protected double result; 
public void Mult1(double result)throws LessThanZeroException 
{ 
this.set(result); 
} 
public void set(double result) throws LessThanZeroException 
{ 
if(result<0) 
throw new LessThanZeroException(""+result); 
} 
public static void main(String args[]) 
{ 
double m=4; 
double n=0.2; 
double result=m*n; 
try 
{ 
if(result<0) {
throw new LessThanZeroException();
}
} 
catch(LessThanZeroException e) 
{ 
System.out.println("产生乘积小于0异常!"); 
} 
finally 
{ 
System.out.println("乘积为"+result); 
} 
} 
}







 -------  android培训java培训、期待与您交流! ----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值