java异常复习

Posted wzb的QQ空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java异常复习相关的知识,希望对你有一定的参考价值。

1、检查性异常:编译时会发现的异常。自定义检查性异常要继承Excepiton。

2、非检查性异常:运行时产生的异常。RuntimeExcepiton及其子类,自定义非检查性异常要继承RuntimeExcepiton。

3、捕获异常:如果有可能的异常产生,一般编译器会自己给你加上try/catch框的。

try{
			
			//可能产生异常的语句
			
		}catch(Exception e){
			
			//捕获异常之后,对异常的操作
			
			
			
			
		}finally{
			
			//异常操作玩,必须要执行的语句,比如关闭IO什么的
			
		}

4、finally:不是必须的。一般先执行catch里面的语句,再执行finially。如果catch里面第一句话是return,那么先执行finally。

5、throws:如果一个函数会抛出检查性异常,那么需要在声明的时候加上throws声明要抛出的异常,用于在外部捕获和处理。

6、throw:直接抛出一个异常。

 

package exceptionTest;


public class main {
	
	public static void main(String args[]){
		
		int a[] = new int[2];
		a[0]=1;
		a[1]=2;
		
		//简单的捕获异常,以及使用异常对象的方法
		try{
			
			System.out.println(a[3]);
			
		}catch(Exception e){
			
			System.out.println(e);
			
			
			
		}finally{
			
			System.out.println("异常!");
			
		}
		
		
		
		//外部处理test内部抛出的异常
		try {
			test();
		} catch (Exception e) {
			System.out.println(e);
		}
		
		
		
	}
	
	static class myException extends Exception{
		
		
		public myException(){
			super();
		}
		
		public String toString(){
			
			return "myException";
			
		}
		
	}
	
	
	//如果一个函数可能会抛出 检查性 异常,必须用throws声明
	//静态方法里面使用静态内部类
	public static void test() throws Exception{
		
		myException e = new myException();
		
		
		throw e;
		
			
	}
	

}

 

 

以上是关于java异常复习的主要内容,如果未能解决你的问题,请参考以下文章

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

异常和TCP通讯

CGBTN2111-DAY09总结复习

CGBTN2111-DAY09总结复习

CGBTN2110-DAY09总结复习

CGBTN2111-DAY09总结复习