代码改变世界

异常课——捕获

2016-09-26 13:47  宇航员舒克  阅读(148)  评论(0编辑  收藏  举报
										//异常课件——捕获
package class10923;

public class yichang1ke {

	public static void main(String[] args) {
		
		//
		
		//算术异常
//		int i=10/0;
		
		//抓住异常
		//看是否有异常,如果有异常执行catch,没有异常正常执行try内容
		try
		{
		//空指针异常
		//对象没有被实例化就去调用对象的实例方法
		String str=null;
		str.trim();//空指针异常位置
		}
		//捕获
		catch(ArithmeticException e)//可以写多个异常处理,但也可以只写一个异常处理就是catch(Exception e){}
		{
			System.out.println("除0异常");
		}
		catch(Exception e)//把异常存放在e中
		{
			//处理
			//处理的方式:1.提示给用户。2.记录异常信息,错误信息的日志。3.把异常信息打印到控制台e.printStackTrace();
//			e.printStackTrace();
			System.out.println("捕获异常="+e.getMessage());
		}		
		finally//一定被执行的一段代码
		{
			System.out.println("一定被执行的代码");
		}
		
		System.out.println("只抓住异常不处理即,如果有异常跳过此异常继续做");
	}

}
											//异常总结
//常用异常:Exception(程序级处理,可以由程序处理)
//Exception处理机制:抓获  写法:1.最常用:try{}catch(异常类型及子类(直接用Exception)   变量){}——要求catch(Exception 变量)要写在最下层.
//			     		 2.在最后一个catch加上一个  finally{}。finally{此处的代码一定被执行,无论程序是否崩溃}
//			                 抛出thow:     在方法中主动抛出异常实例,一般需要在方法名后加throws语句,声明抛出的类型,除了运行时异常RuntimeException
//				     抛出thows:  定义在方法的后面(生命该方法抛出的异常类型),
//
//Exception常用方法:getMessage()获取异常信息
//				printStacktrace 向控制台打印异常信息	
//自定义异常:new Exception("自定义的异常信息")   实例化具有自定义异常信息的实例。
//自定义异常类:必须继承自Exception或他的子类
//使用:传递特定的与业务逻辑有关的异常信息,便于对特定异常进行处理