JAVA异常处理

JAVA异常处理_第1张图片

 JAVA异常处理_第2张图片

 RuntimeException运行时处理

CheckedException编译时处理

package 异常;
//运行时的异常需要程序员来处理的
public class TestException {
    public static void main(String[] args) {
        int a=0;
        int b=1;
        if(b!=0){
            System.out.println(a/b);
        }
        String str=null;//空指针异常 对象为空
        if(str!=null){
            System.out.println(str.length());
        }
        Animal a1=new Dog();
       // Cat c=(Cat)a1; 强制转型异常
        if(a1 instanceof Dog){
            Cat c=(Cat) a1;
        }
        int[] arr=new int[5];
        int a2=5;//数组越界异常
        if(a

JAVA异常处理_第3张图片

package 异常;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class CheckedException {
    public static void main(String[] args)  {
        FileReader reader=null;
        try {
             reader = new FileReader("D:/b.txt");
             System.out.println("step1");
             char c1=(char)reader.read();
             System.out.println(c1);
        }catch (FileNotFoundException e){
            System.out.println("step2");
            e.printStackTrace();//打印异常信息 子类异常在父类异常前面
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            System.out.println("step3");
            try {
                if(reader!=null){//reader不能为空 空的话会报空指针
                    reader.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}

 

package 异常;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

//使用throws声明异常 throws把异常抛给调用它的函数 让调用它的函数来catch异常
public class TestThrows {
    public static void main(String[] args) throws IOException {
        readMyfile();

    }
    public static void readMyfile() throws IOException {
        FileReader reader=null;
            reader = new FileReader("D:/b.txt");
            System.out.println("step1");
            char c1=(char)reader.read();
            System.out.println(c1);
            if(reader!=null){
                reader.close();
            }
    }
}
package 异常;

public class 自定义异常 {
    public static void main(String[] args) {
        Person p=new Person();
        p.setAge(-10);
    }


}
class Person{
    private int age;
    public int getAge(){
        return age;
    }
    public void setAge(int age){
        if(age<0){
            throw new IllegalAgeExcpetion("年龄不能为负数");
        }
        this.age=age;
    }
}
class IllegalAgeExcpetion extends RuntimeException{
    public IllegalAgeExcpetion(){

    }
    public IllegalAgeExcpetion(String msg){
        super(msg);//调用父类的构造函数
    }
}

你可能感兴趣的:(java,蓝桥杯,算法)