关于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语句,那么此语句将作为异样的对立进口,不论是否产生了异样,最终都要执行此段代码。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理