学习周报-7

异常处理

引起程序中断,影响程序正常运行的事件称为异常。
常见的异常有:数组下标越界、除数为零、内存溢出、文件找不到、方法参数无效等。这些异常发生后会导致程序中断,
Java语言采取面向对象的方法来处理异常。Java程序在运行的过程中,如果发生一个可识别的运行错误,系统会产生一个相应的异常类对象,并进一步寻找异常处理代码来处理它,确保程序能从故障中恢复,是程序正常运行下去,直到结束。
现通过下例来说明Java异常处理机制对Java程序健壮性的提高

class Echan0{
	static void method(){
		int x=0,z=10;
		int y=z/x;
		System.out.println("z="+z);
	}
	public static void main(String[] args){
	     method();
	     Sysetem.out.println("Affter method");
	}
}

程序运行:

Exception in thread"main" java.lang.ArithmeticException;/by zero
	  at Echan0.method(Echan0.java:4)
	  at Echan0.main(Echan0.java:7)
______________________________________________________
Press any key to continue...	  

显示信息指明异常的类型:ArithmeticException:/by zero(算数异常/用0除),在这个程序中,没有异常处理的程序代码,这是因为除数为零是算数异常,它属于运行时异常,通常,运行时异常不在程序中做处理。
我们可以用try-catch对除数为0进行异常处理,这样,程序就能够一直运行到程序结束处,不会中途终止程序运行

class Echan0{
	 static void method(){
  	int x=0,z=10;
 	 try{	int y=z/x;
  		System.out.println("z="+z);
  	}catch(ArithmeticException e){
  		System.out.println("算术异常“)
  	}
  	System.out.println("After try/catch block.")
 }
 public static void main(String[] args){
      method();
      Sysetem.out.println("Affter method");
 }
}

程序运行:

算术异常
After try/catch block.
Affter method
________________________________________________________
Press any key to continue...   

程序在执行y=10/x时,在除数x=0而抛出错误(异常)后,只是中断程序在try快中的执行,程序跳转catch块中继续执行,直到程序结束。

Created with Raphaël 2.2.0

一般来说,一个异常处理应该完成以下三个过程():抛出异常(即根据异常类型产生异常对象);捕获异常;处理异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值