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 函数会将指定的
今天我们来介绍一下循环里的break 和continue的用法以及区别 想搞清楚break 和continue的用法以及区别必须要记住的两件两句话!
运营的本质是什么?品牌营销与品牌运营最大的区别又是什么?运营的本质在《从零开始做运营》里,我说:「一切能够帮助产品进行推广、促进
五笔有两个版本:86五笔与98规范王码(简称98王码,有人按86的习惯叫为98五笔)。但98王码的教程不多,网络上很不好找。这个版块贴过的几篇
不谈历史,不谈定位,不谈我身边、我感觉等业余说法。因为历史已经是历史了,并不能够证明现状,定位实际上用户用起来也想不了这么多,极少