Java学習Day18-異常(オン)

異常な

大まかに言えば:すべての異常

エラー:プログラムは実行中ですが、プログラムで処理できません。たとえば、仮想マシンのメモリが不足しています。

狭い例外:プログラムの実行中に発生するエラー

例外処理メカニズムの後、プログラムは引き続き実行できます。

public class day1 {
    
    
    public static void main(String[] args) {
    
    
        /*
        1.数组索引越界 java.lang.ArrayIndexOutOfBoundsException
         */
        /*int [] a = new int[2];
        a[2]=5 ;*/

        /*
        2.空指针异常 java.lang.NullPointerException
         */
        /*String S=null;
        System.out.println(S.length());*/


        /*
        3.类型转换异常java.lang.ClassCastException
         */
        /*Object obj = "abc";
        Integer in = (Integer) obj;*/


        /*
        4.数字格式化异常  java.lang.NumberFormatException
         */
        /*new Integer("abc");*/


        /*
        5.算数异常
        java.lang.ArithmeticException / by zero
         */
        //int x=10/0;

        //异常处理机制,有的异常不强制处理,有的需要强制处理
        try{
    
    
            String s = "utf-8";
            byte [] b = "abc".getBytes(s);
        }catch (UnsupportedEncodingException s){
    
    
            System.out.println("编译错误");
        }
        System.out.println("代码");
    }

異常なシステム

Trowable

エラー:エラー、学習しないでください

例外:例外、学習の焦点

実行時の例外:

直接的または間接的にRuntimeExceptionを継承します

コンパイル中に処理を強制しないでください

コンパイル時の例外:

直接的または間接的にExceptionを継承し、RuntimeExceptionとは何の関係もありません

コンパイル中の必須処理、それ以外の場合はコンパイルなし

例外処理

package com.ff.javaexception;

public class Demo2 {
    
    
    public static void main(String[] args) {
    
    
       /* try{
            可能异常的代码;
        }catch (异常类型(只捕获指定类型的异常)){
            处理异常的代码;
        }*/
    try {
    
    
        String s1=null;
        s1.length();
      /*  try {
            String[] s = new String[]{"1", "2", "3"};
            s[3] = "3";
        }catch (ArrayIndexOutOfBoundsException s){
            System.out.println("溢出异常");
        }*/
        String[] s = new String[]{
    
    "1", "2", "3"};
        s[3] = "3";

        int x=10;
        int y =0;
        int t = x/y;
        System.out.println("可能异常后面的代码");
    }catch (ArithmeticException s){
    
    
        System.out.println("算数异常");
    }catch (ArrayIndexOutOfBoundsException s){
    
    
        System.out.println("溢出异常");
    }catch (Exception e){
    
    
        System.out.println("有异常,不知道啥异常");
    }
        System.out.println("后面的代码");
    }
}

おすすめ

転載: blog.csdn.net/XiaoFanMi/article/details/111242533