java异常中throw和throws的区别

java异常中throw和throws的区别throws 和 throwthrows 用来声明一个方法可能产生的所有异常 不做任何处理而是将异常往上传 谁调用我我就抛给谁 nbsp nbsp 用在方法声明后面 跟的是异常类名 nbsp nbsp 可以跟多个异常类名 用逗号隔开 nbsp nbsp 表示抛出异常 由该方法的调用者来处理 nbsp nbsp throws 表示出现异常的一种可能性 并不一定会发生这些异常 throw 则是用来抛出一个具体的异常类型 nbsp nbsp 用在方法体内 跟的是异常对

throws和throw

throws:用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,谁调用我我就抛给谁。
  用在方法声明后面,跟的是异常类名
  可以跟多个异常类名,用逗号隔开
  表示抛出异常,由该方法的调用者来处理
  throws表示出现异常的一种可能性,并不一定会发生这些异常






throw:则是用来抛出一个具体的异常类型。
  用在方法体内,跟的是异常对象名
  只能抛出一个异常对象名
  表示抛出异常,由方法体内的语句处理
  throw则是抛出了异常,执行throw则一定抛出了某种异常  







分别介绍

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

package com.xinkaipu.Exception;
class Math{

    public int div(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,不符合要求"); } } }





     








版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210575.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午7:21
下一篇 2026年3月19日 上午7:21


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号