Java程序设计04——异常和集合类

异常和集合类


一.异常概述

异常就是Java程序在运行过程中出现的错误。一般被分为两大类:编译时异常和运行时异常。

编译时异常:
Java程序设计04——异常和集合类_第1张图片

运行时异常:
Java程序设计04——异常和集合类_第2张图片

二.异常处理
1.try...catch...finally语句块处理

语法格式:

try{  
             //可能出现异常的代码块  
             FileputStream in = new FileputStream(path);  
             //一旦出现异常,下面的代码不会再执行  
             System.out,println();  
                          }catch(Exception e){  
                        e.printStrace();  
                          }finally{  
    }
2.throws关键字处理

语法格式:

private static int divide(int num1, int num2) throws Exception 
{
...
}
Tips:

1)编译时异常必须处理,try...catch...finally或throws都可以,如果用throws,将来谁调用谁处理。

2)运行时异常可以不处理,将来修改代码。

3.自定义异常和throw关键字

1)throw和throws关键字的区别

Java程序设计04——异常和集合类_第3张图片

2)自定义异常

语法格式:

public class 异常类名 extends Exception{
         无参构造
         有参构造
}

public class ScoreException extends Exception{
         public ScoreException(){}
         public ScoreException(String message){
                  super(message);
         }
}

实例:

ScoreException.java:
public class ScoreException extends Exception{
         public ScoreException() {}
         
         public ScoreException(String message) {
               super(message);
         }
}

Teacher.java:
public class Teacher {
           public void checkScore(int score) throws ScoreException{
                 if(score<0||score>100) {
                     throw new ScoreException("你的分数有误!");                     
                 }else {
                     System.out.println("分数正常");
                 }
           }
}

TeacherTest.java:
public class TeacherTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入分数:");
        int score = sc.nextInt();
        
        Teacher t = new Teacher();
        try {
            t.checkScore(score);
        } catch (ScoreException e) {            
            e.printStackTrace();
        }
    }

}

Java程序设计04——异常和集合类_第4张图片

三.Java常用类和枚举类型

Java常用类和枚举类型(https://segmentfault.com/a/11...

四.泛型和集合类
1.泛型概述

首先,不同于方法的参数,参数是针对于某个方法来说的,而泛型是针对一个类或对象来说的。然后就是,把一个参数传给某个方法,这个方法接收到参数之后,就可以处理它;把一个泛型传给某个类,这个类接收到这个泛型之后,就可以new出一个只能处理这个泛型的对象。

声明单一类型:
class 类名
Book bookname = new Book("《中国通史》");

声明多个类型:
class MultiOverClass
MultiOverClass = new MultiOverClass(true,2.89f);

声明数组类型:
private T[] bookInfo;
2.集合类

集合类(https://segmentfault.com/a/11...

你可能感兴趣的:(java,后端)