Java学习Day12

2019-09-26  本文已影响0人  JayMeWangGL

今日学习内容总结


异常

throw关键字:

throw new NullPointerException("要访问的arr数组不存在");

throw new ArrayIndexOutOfBoundsException("该索引在数组中不存在,已超出范围");
public static void main(String[] args) {
        int[] arr =null;
        method(arr,0);
        int[] a ={1,2,3,4,5};
        method(a,6);
    }
    public static void method(int[] arr,int index){

        if (arr==null){
            throw new NullPointerException("数组为空");
        }
        if(index>arr.length){
            throw new ArrayIndexOutOfBoundsException("索引越界");
        }
    }

throws声明异常

try...catch捕获异常

try{
     编写可能会出现异常的代码
}catch(异常类型  e){
     处理异常的代码
     //记录日志/打印异常信息/继续抛出异常
}
        try {
            System.out.println(arr[0]);
        }
        catch (Exception e){
            System.out.println("数组中无数据");
        }

Throwable类

Throwable类中定义了一些查看方法:

finally

finally的语法:

注意:

自定义异常类

格式:

  public class XXXException extends Exception | RuntimeExcept{
        添加一个空参数构造方法
        添加一个包含错误信息的构造方法
    }

示例:

public class RegisterException extends Exception{
    public RegisterException() {
    }

    public RegisterException(String message) {
        super(message);
    }
}
public class RegisterMain {
    static String[] user = {"张三","赵四"};
    public static void main(String[] args) throws RegisterException {
        String name = new Scanner(System.in).next();
        for (String n : user) {
            if(n.equals(name)){
                throw new RegisterException("已存在");
            }
        }
        System.out.println("注册成功!");
    }
}

多线程

并发与并行

线程与进程

线程调度

创建多线程

第一种方式:

}

~~~java
public class MyThreadDemo {
    public static void main(String[] args) {
        myThread myThread = new myThread();
        myThread.start();

        for (int i = 0; i <20 ; i++) {
            System.out.println("main:"+i);
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读