必威体育Betway必威体育官网
当前位置:首页 > IT技术

java异常中throw和throws的区别

时间:2019-06-14 21:45:04来源:IT技术作者:seo实验室小编阅读:85次「手机版」
 

throws

throws和throw

throws:用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,谁调用我我就抛给谁。

 用在方法声明后面,跟的是异常类名

 可以跟多个异常类名,用逗号隔开

 表示抛出异常,由该方法的调用者来处理

 throws表示出现异常的一种可能性,并不一定会发生这些异常

throw:则是用来抛出一个具体的异常类型。

 用在方法体内,跟的是异常对象名

 只能抛出一个异常对象名

 表示抛出异常,由方法体内的语句处理

 throw则是抛出了异常,执行throw则一定抛出了某种异常  

分别介绍

throws在方法后边声明异常,其实就是自己不想对异常做出任何的处理,告诉别人自己可能出现的异常,交给别人处理,然别人处理

package com.xinkaipu.Exception;

class Math{

public int p(int i,int j) throws Exception{

int t=i/j;

return t;

}

}

public class ThrowsDemo {

public static void main(String args[]) throws Exception{

Math m=new Math();

 }

}

throw:就是自己处理一个异常,有两种方式要么是自己捕获异常try...catch代码块,要么是抛出一个异常(throws 异常)

package com.xinkaipu.Exception;

public class TestThrow
{
    public static void main(String[] args) 
    {
        try
        {
            //调用带throws声明的方法,必须显式捕获该异常
            //否则,必须在main方法中再次声明抛出
            throwChecked(-3);            
        }
        catch (Exception e)
        {
            System.out.println(e.getmessage());
        }
        //调用抛出runtime异常的方法既可以显式捕获该异常,
        //也可不理会该异常
        throwRuntime(3);
    }
    public static void throwChecked(int a)throws Exception
    {
        if (a > 0)
        {
            //自行抛出Exception异常
            //该代码必须处于try块里,或处于带throws声明的方法中
            throw new Exception("a的值大于0,不符合要求");
        }
    }
    public static void throwRuntime(int a)
    {
        if (a > 0)
        {
            //自行抛出runtimeexception异常,既可以显式捕获该异常
            //也可完全不理会该异常,把该异常交给该方法调用者处理
            throw new RuntimeException("a的值大于0,不符合要求");
        }
    }
}

相关阅读

include 和 include_once 的区别

include 和 include_once 的区别 include 会将指定的文件载入并执行里面的程序;重复引用加载多次。include_once 函数会将指定的

break 和continue 区别以及用法。

今天我们来介绍一下循环里的break 和continue的用法以及区别 想搞清楚break 和continue的用法以及区别必须要记住的两件两句话!

品牌运营与品牌营销区别何在?

运营的本质是什么?品牌营销与品牌运营最大的区别又是什么?运营的本质在《从零开始做运营》里,我说:「一切能够帮助产品进行推广、促进

86年版五笔和98年版五笔区别

五笔有两个版本:86五笔与98规范王码(简称98王码,有人按86的习惯叫为98五笔)。但98王码的教程不多,网络上很不好找。这个版块贴过的几篇

不谈历史谈当下,QQ与微信的区别是什么

不谈历史,不谈定位,不谈我身边、我感觉等业余说法。因为历史已经是历史了,并不能够证明现状,定位实际上用户用起来也想不了这么多,极少

分享到:

栏目导航

推荐阅读

热门阅读