Java 异常处理 之 捕获处理流程

http://www.verejava.com/?id=16992991138281

package com.exception2;
/*
 * 注意:
    1. 当异常发生的时候,程序会终止,其后面的代码不会执行.
    2. 异常分为编译时异常和运行期异常
        编译期异常必须用 try{}catch{}捕获,运行期异常可以不捕获
        编译期异常从 Exception 继承,  运行期异常从RuntimeException 继承


异常的处理流程

注意:
    1. try{}catch{} 代码块里的局部变量, 不能在其外访问. 所以如果要访问
       最好在try catch 代码块外定义,然后再使用.
    2. 异常执行流程 当异常发生时,首先系统产生一个异常实例, 如果没有try catch
       代码块报异常终止执行, 如果遇到try catch 代码块, 系统会把异常实例跟
       catch() 里面的异常对象依次从上往下进行匹配,如果匹配成功进入 catch{} 代码块. 否则
       报异常终止执行.
    3. Exception 是异常的根类, 根据多态原则,所以所有的异常实例都可以转为Exception
       这样通过 Exception 就可以捕获到所有出现的异常.
    4. finally{ }代码块的内容不管是否有异常 都会执行。 用来释放资源,比如
       关闭文件,关闭数据库连接等。
    5. finally{} 代码块的语句, 是在return 之前运行的.
 */
public class TestException
{
    public static void main(String[] args)
    {
        int[] scores={60,70,80};
        
        try
        {
            System.out.println(scores[3]);
            System.out.println(3/0);
        }
        catch (ArrayIndexOutOfBoundsException e)
        {
            System.out.println("数组越界异常");
        }
        catch(ArithmeticException e)
        {
            System.out.println("数学异常");
        }
        catch(Exception e)
        {
            System.out.println("发生了异常");
        }
        
    }
}

http://www.verejava.com/?id=16992991138281

猜你喜欢

转载自www.cnblogs.com/verejava/p/9211852.html