zoukankan      html  css  js  c++  java
  • 异常处理动手动脑

    1.请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识。

    import javax.swing.*;
    
    class AboutException {
       public static void main(String[] a) 
       {
          int i=1, j=0, k;
          ///k=i/j;
    
    
    	try
    	{
    		
    		k = i/j;    // Causes division-by-zero exception
    		//throw new Exception("Hello.Exception!");
    	}
    	
    	catch ( ArithmeticException e)
    	{
    		System.out.println("被0除.  "+ e.getMessage());
    	}
    	
    	catch (Exception e)
    	{
    		if (e instanceof ArithmeticException)
    			System.out.println("被0除");
    		else
    		{  
    			System.out.println(e.getMessage());
    			
    		}
    	}
    
    	
    	finally
         {
         		JOptionPane.showConfirmDialog(null,"OK");
         }
    		
      }
    }
    

     

     

     Java中的异常捕获语句

    Try{
    			//可能发生运行错误的代码;
    		}
    		catch(异常类型     异常对象引用){
    			//用于处理异常的代码
    		}
    		finally{
    			//用于“善后” 的代码
    		}
    

      Java 中所有可捕获的异常都派生自 Exception 类。

           finally最后都会执行一次。

    使用Java异常处理机制

        1.     把可能会发生错误的代码放进try语句块中。
        2.     当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。
        3.     catch语句块中的代码用于处理错误。
        4.     当异常发生时,程序控制流程由try语句块跳转到catch语句块。
        5.     不管是否有异常发生,finally语句块中的语句始终保证被执行。
        6.     如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。

    2.多层的异常捕获

    public class CatchWho2 { 
        public static void main(String[] args) { 
            try {
                	try { 
                    	throw new ArrayIndexOutOfBoundsException(); 
                	} 
                	catch(ArithmeticException e) { 
                    	System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch"); 
                	}
                throw new ArithmeticException(); 
            } 
            catch(ArithmeticException e) { 
                System.out.println("发生ArithmeticException"); 
            } 
            catch(ArrayIndexOutOfBoundsException e) { 
                System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch"); 
            } 
        } 
    }
    

      

     当有多个嵌套的try…catch…finally时,要特别注意finally的执行时机。

  • 相关阅读:
    网页自动满屏
    页面字符编码不一致的处理
    数据库迁移:从SQL2005到SQL2008
    一条DELETE语句
    网站的最大并发连接数
    C#为网页生成缩略图
    在类中使用page对象用HttpContext.Current
    域名解析、子域名、cname别名指向、MX记录、泛域名与泛解析、域名绑定、域名转向
    C#数据库编程中SqlDataAdapter与DataSet的区别与联系
    gridview不能删除修改数据的问题
  • 原文地址:https://www.cnblogs.com/zwx655/p/11761819.html
Copyright © 2011-2022 走看看