Java异常处理-检查性异常、非检查性异常、Error

一、Java异常处理详解

Java异常处理-笔记中的@doublefan讲解得非常通熟易懂

Java异常处理-检查性异常、非检查性异常、Error_第1张图片
异常.png

目录:
1.java中异常的分类
1.1 异常(Exception)
1.1.1 运行时异常(RuntimeException)
可以不需要捕获
1.1.2 编译异常(IOException)
编译器会提示要捕获,如果不进行捕获则编译器会报错
1.2 错误(Error)
3.java处理异常机制
4.throw和throws的区别
5.如何捕获异常
try-catch-finally
6.不同异常的捕获要分开处理

二、检查型异常和非检查性异常对比

Java异常处理-笔记中的@藏剑讲解得非常通熟易懂

Java异常处理-检查性异常、非检查性异常、Error_第2张图片
检查型异常.png

Java异常处理-检查性异常、非检查性异常、Error_第3张图片
非检查型异常.png

三、throws和throw的区别 以及 throws、throw和try、catch的对比

Java异常处理-笔记中的@Husky讲解得非常通熟易懂
以下代码来自@Husky

class FuShuException extends Exception //getMessage();
{
    private int value;
    FuShuException()
    {
        super();
    }
    FuShuException(String msg,int value)
    {
        super(msg);
        this.value = value;
    }
    public int getValue()
    {
        return value;
    }
}

class Demo
{
//通过throws 和 throw捕获异常
    int div(int a,int b)throws FuShuException
    {
        if(b<0) {
             // 手动通过throw关键字抛出一个自定义异常对象。
            throw new FuShuException("出现了除数是负数的情况------ / by fushu",b);
        }
        return a/b;
    }
}

class  ExceptionDemo3
{
    public static void main(String[] args)
    {
        Demo d = new Demo();
//通过try-catch捕获异常
        try
        {
            int x = d.div(4,-9);
            System.out.println("x="+x);
        }
        catch (FuShuException e)
        {
            System.out.println(e.toString());
            //System.out.println("除数出现负数了");
            System.out.println("错误的负数是:"+e.getValue());
        }
        System.out.println("over");
    }
}

你可能感兴趣的:(Java异常处理-检查性异常、非检查性异常、Error)