面向对象--异常的基本概念

什么是异常?
[quote]导致程序中断的一段指令流[/quote]
有什么危害?
[quote]如果不对异常进行正确处理,可能导致程序的中断执行,造成不必要的损失[/quote]
如何处理异常?及异常的处理机制
[quote]try{可能产生异常的代码}
catch(异常类 异常对象){异常处理语}可以有多个catch
finally{异常统一出口,一定会执行}[/quote]
异常类
[quote]Throwable{Exception 一般表示程序中出现的问题,可以由try...catch处理
Error 可能是Jvm错误,程序无法处理}[/quote]


public class ExceptionDemo06{
public static void main(String args[]){
System.out.println("********** 计算开始 ***********") ;
int i = 0 ; // 定义整型变量
int j = 0 ; // 定义整型变量
try{
String str1 = args[0] ; // 接收第一个参数
String str2 = args[1] ; // 接收第二个参数
i = Integer.parseInt(str1) ; // 将第一个参数由字符串变为整型
j = Integer.parseInt(str2) ; // 将第二个参数由字符串变为整型
int temp = i / j ; // 此处产生了异常
System.out.println("两个数字相除的结果:" + temp) ;
System.out.println("----------------------------") ;
}catch(ArithmeticException e){ // 捕获算术异常
// System.out.println("算术异常:" + e) ;
e.printStackTrace() ;
}catch(NumberFormatException e){ // 捕获数字转换异常
System.out.println("数字转换异常:" + e);
}catch(ArrayIndexOutOfBoundsException e){ // 捕获数组越界异常
System.out.println("数组越界异常:" + e) ;
}catch(Exception e){
System.out.println("其他异常:" + e) ;
}
System.out.println("********** 计算结束 ***********") ;
}
};


注意点:

1. 可以用Exception 捕获所有的异常,但最好分开捕获。且分开捕获要在Exception之前,不然编译为报错。
2. 输出异常信息可以用 System.out.println 也可以用Exception的方法printStackTrace()。
3. 异常时产生一个异常类实例化对象,与catch后面的异常类想匹配,若是同一类型就执行后面的语句,若所有Catch后无匹配,则执行finally.finally中的语句,无论异常是否发生,都会执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值