Java异常处理

系统 1822 0

 
 
  Java异常处理
 

  1:概念:  

 异常是java程序中运行时出现的错误的一种机制。       

 抛出异常是指程序中如果出现异常,则抛出实例, 通过实例封装了异常的信息提交到Java运行时系统,这个过程叫做抛出异常。  

         Exception    这个术语是对词组“          exceptional event    ”简短表达,其定义如下:        

 An  exception is an event that occurs during the execution of a program that disrupts the normal flow of instructions during the execution of a program.        

 

        当在一个方法内部发生了一个错误,这个方法就创建一个对象并把它发送给运行系统,然后离开它。这个对象就是          exception object    ,包含了有关错误的相关信息(错误发生时的程序状态及错误的类型)。创建一个          exception    对象并向运行系统发送,被称为“          throwing an exception              ”。        

 

        当一个方法抛出异常后,运行系统便试着查找原因并处理它。          The set of possible "somethings" to handle the exception is the ordered list of methods that had been called to get to the method where the error occurred. The list of methods is known as the          call stack             (see the next figure).    

 

 

 2.异常体系结构        

     张军博客    

 3:Java异常的关键字        

   try :标示程序将要发生的异常语句块        

   catch:捕获异常,先抛小异常,在抛出大异常。        

   finally 不管try语句块中是否抛出异常都要执行finally块的语句,此关键字的好处是:如果打开数据库链接程序中断,可以在此处关闭链接,例如:打开文件,IO流文件        

  throw 在方法中抛出异常指向一个异常方法        

  throws 抛出方法异常。        

  注意:声明方法异常时则需要在重写方法时,重写的方法和原方法保持一致或者不抛出方法异常。        

 4:语法结构        

           

	try
	{
		//程序语句块
		System.out.println("开始执行异常...");
		System.out.println("程序运行结果:"+10/0);
		System.out.println("结束执行异常...");
	}
	catch(ArithmeticException e)
	{
		e.printStackTrace();
	}
	catch(Exception ex)
	{
		ex.printStackTrace();
	}

 

 

	Connection conn =null;
	try
	{
		
		conn  = DriverManager.getConnection("","","");
		//程序语句块
		System.out.println("开始执行异常...");
		System.out.println("程序运行结果:"+10/0);
		System.out.println("结束执行异常...");
	}
	catch(ArithmeticException e)
	{
		e.printStackTrace();
	}
	catch(Exception ex)
	{
		ex.printStackTrace();
	}
	finally 
	{
		try
		{
			if(conn!=null)
			{
				conn.close();
				conn=null;
			}
			
		}
		catch(Exception io)
		{
			io.printStackTrace();
		}
	}

 

 

  例子:

package com.ith.study;

import java.sql.Connection;
import java.sql.DriverManager;

 
@SuppressWarnings("serial")
public class DefaultException extends Exception {
 
 
	public DefaultException() {
		super();	//调用父类构造方法
	}
	
	public DefaultException(final String msg) {
		//super(msg);
		System.out.println(msg+"============");
	}
}

 

 

package com.ith.study;

import com.ith.study.DefaultException;

public class ThrowsException {

	/**
	 * @param args
	 * @throws DefaultException 
	 */
	public static void main(String[] args)  {
		// TODO Auto-generated method stub
		ThrowsException throwtest=new ThrowsException();
		throwtest.throwsTestException();
	}
	
	public void throwsTestException() {
		
		System.out.println("===================");
		
		int i= 7/2;
		
		System.out.println("7/2======"+i);
		
		if(i>0) {
			try {
				throw new DefaultException("7/2抛出自定义异常");
			} catch (DefaultException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
		}
		
	}

}

 

 

 

 

 



 Java异常处理  


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论