Throwableの例外/エラーの分類と処理

package Day18;/*
 *@author wanghongyuan
 *@Create 2020/12/27 15:20
 */

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*

    java.lang.Throwable:类是 java 语言中所有错误或者异常的超类。
        Exception:编译期异常,进行编译(写代码)java程序中出现的问题。
                  异常就相当于程序得了个小毛病(感冒,发烧),把异常处理掉,程序可以继续执行(吃点药就可以好)
        Error:错误
                错误就相当于程序得了个无法治愈的毛病(非典,艾滋)必须修改源代码,程序才能继续执行

 */
public class DemoException {
    
    
    public static void main(String[] args) /*throws ParseException*/ {
    
    
/*
//        Exception:编译期异常,进行编译(写代码)java程序中出现的问题。
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//用来格式化日期
        Date dat = null;//把字符串格式的日期,解析为Data格式的日期
        try {
            dat = sdf.parse("2020-1216");//把字符串格式的日期,解析为Data格式的日期
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(dat);//thread "main" java.text.ParseException: Unparseable date: "2020-1216"
*/
        // RuntimeException:运行期异常,java程序运行过程中出现的问题
        /*int[] arr={1,2,3};
        try{
            // 可能会出现异常的代码
            System.out.println(arr[3]);
        }catch (Exception e){
            // 异常的处理逻辑
            System.out.println(e);//java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3

        }*/
/*
    Error:错误
    java.lang.OutOfMemoryError: Java heap space
    内存溢出的错误,创建的数组太大了,超出了给Jvm分配的内存

 */
        int[] arr = new int[1024*1024*1024];//Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
// 必须修改代码,创建的数组小一点,就不会有问题了
        System.out.println(arr);
        System.out.println("后续代码");
    }
}

おすすめ

転載: blog.csdn.net/weixin_41977380/article/details/111813668