首页 > 其他分享 >throw 和 throws 的区别是什么?

throw 和 throws 的区别是什么?

时间:2023-03-20 09:02:55浏览次数:38  
标签:区别 异常 throws 关键字 抛出 方法 throw

Java 中的异常处理除了包括捕获异常和处理异常之外,还包括声明异常和拋出异常,可以通过 throws 关键字在方法上声明该方法要拋出的异常,或者在方法内部通过 throw 拋出异常对象。

throws 关键字和 throw 关键字在使用上的几点区别如下:

  • throw 关键字用在方法内部,只能用于抛出一种异常,用来抛出方法或代码块中的异常,受查异常和非受查异常都可以被抛出。
  • throws 关键字用在方法声明上,可以抛出多个异常,用来标识该方法可能抛出的异常列表。一个方法用 throws 标识了可能抛出的异常列表,调用该方法的方法中必须包含可处理异常的代码,否则也要在方法签名中用 throws 关键字声明相应的异常。

标签:区别,异常,throws,关键字,抛出,方法,throw
From: https://www.cnblogs.com/xfeiyun/p/17235109.html

相关文章

  • final、finally、finalize 有什么区别?
    inal可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表示该变量是一个常量不能被重新赋值。finally一般作用在try-catch代......
  • NoClassDefFoundError 和 ClassNotFoundException 区别?
    NoClassDefFoundError是一个Error类型的异常,是由JVM引起的,不应该尝试捕获这个异常。引起该异常的原因是JVM或ClassLoader尝试加载某类时在内存中找不到该类的定......
  • 你能说说Java深拷贝和浅拷贝区别吗
    引用拷贝创建一个指向对象的引用变量的拷贝。对象拷贝创建对象本身的一个副本。注:深拷贝和浅拷贝都是对象拷贝浅拷贝被复制对象的所有变量都含有与原来的对象相同......
  • php线程安全(TS)和非线程(NTS)安全区别 本文来源:码农网 本文链接:https://www.coderct
    以下线程安全简称TS非线程安全简称NTS首先unix/linux不强调使用线程模型,强调使用多进程模型,windows下面才强调使用多线程。创建进程的速度比创建线程慢几倍,并且相互通信......
  • 相对路径和绝对路径的区别
    一个超级简单的解释:相对路径相对路径是一种简化版的路径,以当前文件,活动窗口目录为根目录,进行向上或者向下c绝对路径就是真实的路径,是计算机中完整路径,必须准确,否......
  • 程序的内存分配C,堆和栈的区别
    前言:C语言二进制映像文件由,堆,栈,数据段(只读数据段,未初始化数据段BSS,已初始化数据段),代码段组成1.栈区:由编译器进行管理,自动分配和释放,存放的是函数调用时的各种参数,局部变量......
  • 温习:进程和线程的区别
    进程和线程的区别:1、定义不一样,进程是执行中的一段程序,线程是进程里执行中的任务,一个进程里可以有多个线程。2、一个线程只能属于一个进程。3、线程无地址空间,它包括在......
  • CountDownLatch 和 CyclicBarrier 的区别?
    CyclicBarrier它允许一组线程互相等待,直到到达某个公共屏障点(CommonBarrierPoint)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier......
  • synchronized 和 Lock 的区别
    Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock......
  • 能不能说一说 TCP 和 UDP 的区别?
    TCP是一个面向连接的、可靠的、基于字节流的传输层协议。而UDP是一个面向无连接的传输层协议。和 UDP 相比,TCP有三大核心特性:面向连接。所谓的连接,指的是客户端和服......