02.jvm处理异常的方式和try...catch处理异常

JVM默认处理方式

如果出现异常我们没有处理,jvm会帮我们进行处理,他会把异常的类型,原因还有位置显示在命令行并且还终止了程序,异常后面的代码将不在执行

package com.itheima_01;
import java.io.FileWriter;
import java.io.IOException;

/*
 *  异常的处理方式:

 *      
 * 
 *  jvm处理异常的方式:
 *      如果出现异常我们没有处理,jvm会帮我们进行处理,他会把异常的类型,原因还有位置显示在命令行
 *      并且还终止了程序,异常后面的代码将不在执行
 */
public class ExceptionDemo2 {
    public static void main(String[] args) throws Exception {
       System.out.println(2/0);
       System.out.println("hello");
            
    }
    
 
}

try…catch方式处理异常

捕获:Java中对异常有针对性的语句进行捕获,可以对出现的异常进行指定方式的处理捕获异常格式:

try {
    //需要被检测的语句。
}
catch(异常类 变量) { //参数。
    //异常的处理语句。
}
finally {
    //一定会被执行的语句。
}

try:该代码块中编写可能产生异常的代码。
catch:用来进行某种异常的捕获,实现对捕获到的异常进行处理。

package com.itheima_01;

import java.io.FileWriter;

/*
 *  异常处理方式:
 *          捕获处理
 *              try...catch语句
 * 
 *              try {
 *                  有可能出现问题的代码; 
 *              }catch(ArithmeticException ae) {
 *                  处理异常;
 *              }
 *          
 *              try...catch的执行顺序
 *                      首先执行try语句
 *                          如果发现异常,异常下面的代码不再执行,直接跳入catch语句中,整个try...catch结束
 *                          如果没有发现异常,try语句执行结束后,try...catch直接结束不再执行catch语句
 *          抛出去
 * 
 *  jvm处理异常的方式:
 *          如果出现异常我们没有处理,jvm会帮我们进行处理,他会把异常的类型,原因显示在命令行
 *          并且还终止了程序,异常后面的代码将不再执行
 */
public class ExceptionDemo2 {
    public static void main(String[] args) {
        try {
            System.out.println(1);
            System.out.println(2 / 0);
            System.out.println(2);
        }catch(ArithmeticException ae) {
            System.out.println("除数不能为0");
        }
        System.out.println("3");
    }
    /*
     * 1
     *  除数不能为0
     *  3
     */
}

你可能感兴趣的:(02.jvm处理异常的方式和try...catch处理异常)