乐趣区

关于java:Java异常处理及安装IDEA

1、IDEA 下载、装置及卸载
在官网进行下载和装置:
注册后绑定激活码:
装置 IDEA 和装置其它软件没有什么区别,始终下一步即可,始终到装置实现。
装置插件:Ideavim 和 Chinese Language Pack 等插件(Preference->plugin 后搜寻装置即可)
2、异样解决学习点

明确什么是异样(重点)

能辨识出常见的异样及其含意。(相熟 +)

了解异样产生的原理(理解)

能解决异样(重点)

可能自定义异样类型(相熟)

3、什么是异样
(1)、概述
异样是在程序中导致程序中断运行的一种指令流。
例如,当初有如下的操作代码:
package com.xiaoyaoyou.demo;

public class demo {

public static void main(String[] args) {
    int i = 10;
    int j = 0;
    System.out.println("========== 开始计算 =============");
    int temp = i / j;
    System.out.println("temp =" + temp);
    System.out.println("========== 计算完结 =============");
}

}
复制代码
运行后果:

以上的代码在“int temp = i / j ;”地位处产生了异样,一旦产生异样之后,异样之后的语句将不再执行了,所以当初的程序并没有正确的执行结束之后就退出了(从最上面开始看能够看出是第 8 行出错了)。
那么,为了保障程序出现异常之后依然能够正确的执行结束,所以要采纳异样的解决机制。
(2)、解决异样
如果要想对异样进行解决,则必须采纳规范的解决格局,解决格局语法如下:
try{
​ // 有可能产生异样的代码段
}catch(异样类型 1 对象名 1){
​ // 异样的解决操作
}catch(异样类型 2 对象名 2){
​ // 异样的解决操作
} …
finally{
​ // 异样的对立进口
}
package com.xiaoyaoyou.demo;

public class demo {

public static void main(String[] args) {
    int i = 10;
    int j = 0;
    System.out.println("========== 开始计算 =============");
    try {
        int temp = i / j;
        System.out.println("temp =" + temp);
    } catch (ArithmeticException e) {System.out.println("除数不能为 0");
    }
    System.out.println("========== 计算完结 =============");
}

}
复制代码
package com.xiaoyaoyou.demo;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Test {

public static void main(String[] args) {menu();
}

public static int menu() {System.out.println("请依据提醒,抉择性能序号:");
    System.out.println("1. 减少 xx");
    System.out.println("2. 删除 xx");
    System.out.println("3. 批改 xx");
    System.out.println("0. 退出");

    Scanner input = new Scanner(System.in);
    int num = -1;
    try{num = input.nextInt();
        if(num < 0 || num > 3) {System.out.println("输出有误,请从新操作!");
            return menu();}
    }catch (InputMismatchException e) {System.out.println("输出有误,请从新操作!");
        return menu();}

    return num;
}

}
复制代码
package com.xiaoyaoyou.demo;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Test {

public static void main(String[] args) {menu();
}

public static int menu() {System.out.println("请依据提醒,抉择性能序号:");
    System.out.println("1. 减少 xx");
    System.out.println("2. 删除 xx");
    System.out.println("3. 批改 xx");
    System.out.println("0. 退出");

    Scanner input = new Scanner(System.in);
    int num = -1;
    try{num = input.nextInt();
        if(num < 0 || num > 3) {System.out.println("输出有误,请从新操作!");
            return menu();}
    }catch (Exception e) {System.out.println("输出有误,请从新操作!");
        return menu();}

    return num;
}

}
复制代码
(3)、try+catch 的解决流程
1、一旦产生异样,则零碎会主动产生一个异样类的实例化对象。
2、那么,此时如果异样产生在 try 语句,则会主动找到匹配的 catch 语句执行,如果没有在 try 语句中,则会将异样抛出。
3、所有的 catch 依据办法的参数匹配异样类的实例化对象,如果匹配胜利,则示意由此 catch 进行解决。
(4)、finally
在进行异样的解决之后,在异样的解决格局中还有一个 finally 语句,那么此语句将作为异样的对立进口,不论是否产生了异样,最终都要执行此段代码。

退出移动版