• java之finally的用法


    package com.smbea.demo.tryCatchFinally;
    
    /**
     * java之finally的用法
     * @author hapday
     * @2017年2月5日 @上午12:21:16
     */
    public class TryCatchFinallyDemo {
    
    	public static void main(String[] args) {
    		hasException();
    		System.out.println("
    ——————————————————————————————————————————————————————————————————
    ");
    		noneException();
    		System.out.println("
    ——————————————————————————————————————————————————————————————————
    ");
    		System.out.println(hasReturnAndNoneException());
    		System.out.println("
    ——————————————————————————————————————————————————————————————————
    ");
    		System.out.println(hasReturnAndHasException());
    	}
    
    	/**
    	 * 有异常发生
    	 */
    	public static void hasException() {
    		int divisor = 10;
    		int dividend = 0;
    		
    		try {
    			System.out.println(divisor + " / " + dividend + " = " + (divisor / dividend));
    		} catch (Exception e) {
    			System.out.println("这里的代码只有出现异常后执行...");
    			e.printStackTrace();
    		} finally {
    			System.out.println("这里的代码始终执行,不论有没有发生异常或在 try 块中出现 return 语句,都不受影响...");
    		}
    	}
    
    	/**
    	 * 无异常发生
    	 */
    	public static void noneException() {
    		int divisor = 10;
    		int dividend = 10;
    		
    		try {
    			System.out.println(divisor + " / " + dividend + " = " + (divisor / dividend));
    		} catch (Exception e) {
    			System.out.println("这里的代码只有出现异常后执行...");
    			e.printStackTrace();
    		} finally {
    			System.out.println("这里的代码始终执行,不论有没有发生异常或在 try 块中出现 return 语句,都不受影响...");
    		}
    	}
    	
    	/**
    	 * try 块中有 return 语句但是无异常
    	 * @return
    	 */
    	@SuppressWarnings("finally")
    	public static int hasReturnAndNoneException() {
    		int divisor = 10;
    		int dividend = 10;
    
    		try {
    			System.out.println(divisor + " / " + dividend + " = " + (divisor / dividend));
    			
    			divisor *= 2;
    
    			System.out.println("divisor = " + divisor);
    			
    			return divisor;
    		} catch (Exception e) {
    			System.out.println("这里的代码只有出现异常后执行...");
    			e.printStackTrace();
    		} finally {
    			System.out.println("这里的代码始终执行,不论有没有发生异常或在 try 块中出现 return 语句,都不受影响...");
    			
    			divisor *= 3;
    			
    			System.out.println("divisor = " + divisor);
    
    			return divisor;
    		}
    	}
    
    	/**
    	 * try 块中有 return 语句但是有异常
    	 * @return
    	 */
    	@SuppressWarnings("finally")
    	public static int hasReturnAndHasException() {
    		int divisor = 10;
    		int dividend = 0;
    		
    		try {
    			System.out.println(divisor + " / " + dividend + " = " + (divisor / dividend));
    			
    			divisor *= 2;
    
    			System.out.println("divisor = " + divisor);
    			
    			return divisor;
    		} catch (Exception e) {
    			System.out.println("这里的代码只有出现异常后执行...");
    			e.printStackTrace();
    		} finally {
    			System.out.println("这里的代码始终执行,不论有没有发生异常或在 try 块中出现 return 语句,都不受影响...");
    			
    			divisor *= 3;
    			
    			System.out.println("divisor = " + divisor);
    
    			return divisor;
    		}
    	}
    }
    

      

  • 相关阅读:
    js面向对象实现Tab切换
    js中的面向对象基础1
    js正则表达式
    Ajax的基础使用
    JS完美运动框架
    JS实现链式运动
    js实现多物体运动框架
    js实现多物体运动
    JS运动应用
    JavaScript中的高阶函数
  • 原文地址:https://www.cnblogs.com/hapday/p/6366788.html
Copyright © 2020-2023  润新知