异常,异常的使用,Throw和Throws的区别,

什么是异常?

(1)程序出现的不正常的情况。
(2)异常的体系
        Throwable
        Error   严重问题,我们不处理。
        Exception
        RuntimeException    运行期异常,我们需要修正代码。
        非RuntimeException 编译期异常,必须处理的,否则程序编译不通过。

首先我们用一个例子来说明一下:

public static void main(String[] args) {
        // TODO 自动生成的方法存根
/*/
 * 处理异常的办法
 * try... catch...finally
 * throws
 * 
 */
        int a = 10;
        int b = 2;
        System.out.println(a / b);

        System.out.println("结束");

    }

}

输出结果是:

5
结束
但是我们把代码稍微改变一下:

public static void main(String[] args) {
        // TODO 自动生成的方法存根
        /*
         * / 处理异常的办法 try... catch...finally throws
         * 
         */
        int a = 10;
        // int b = 2;
        int b = 0;
        System.out.println(a / b);

        System.out.println("结束");

    }

}

通过这样我们发现程序没报错 ,但是运行结果如下:

java.lang.ArithmeticException

这时候程序就出现了异常情况,我要改怎么处理呢?

/*
* / 处理异常的办法 try… catch…finally
* throws
*
*/

public static void main(String[] args) {
        // TODO 自动生成的方法存根
        /*
         * / 处理异常的办法 try... catch...finally throws
         * 
         */
        int a = 10;
        // int b = 2;
        int b = 0;
        try {
            System.out.println(a / b);

        } catch (Exception e) {

            System.out.println("除数不能为0!");
        }

        System.out.println("结束");

    }

}

这样呢,我们输出结果:

除数不能为0!
结束

我们声明的一点是,在catch代码里必须要有声明或者其他解决异常问题的方案或者提示,否则添加这个try…catch就没有了任何的意义!
我们到底该如何处理异常:如果改功能内部可以将问题处理,用try…catch,如果处理不了交由调用者处理,这是用Throw

异常的处理:
JVM的默认处理
把异常的名称,原因,位置等信息输出在控制台,但是程序不能继续运行。
自己处理
a:try…catch…finally
自己编写处理代码,使得后面的程序可以继续执行。
b:throws
把自己处理不了的,在方法上声明,告诉调用者,这里是有问题的!

Throw和Throws的区别

Throw和Throws的区别。
1.Throws使用在函数上,Throw使用在函数内。
2.Throws后面跟异常类,可以跟多个,用逗号区别,Throw后面跟的是异常对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值