首页 > 其他分享 >异常处理机制(一)之throw与throws的区别是什么?

异常处理机制(一)之throw与throws的区别是什么?

时间:2023-11-13 17:12:16浏览次数:35  
标签:异常 区别 抛出 throw 声明 方法 throws

throw与throws的区别
一、throw:
throw:抛出异常
throw: 代表动作,表示抛出一个异常的动作;
throw:方法体内,可以作为单独语句使用
throw:只能抛出一个异常对象

throw是语句抛出一个异常,一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常

1.1 声明格式:

 

代码如下 :

 

系统抛出异常如下 :

 


二、throws:
throws:声明异常
throws代表一种状态,代表方法可能有异常抛出
throws:必须跟在方法参数列表后面,不能单独使用
throws:后面跟异常类,而且可以有多个

当某个方法可能会抛出某种异常时用于throws 声明可能抛出的异常,然后交给上层调用它的方法程序处理
2.1 声明格式:

代码如下 :

运行结果如下:

 


总结:
·throw用于在方法内部显式抛出异常。

·throws用于在方法签名中声明方法可能抛出的异常类型,以便通知方法的调用者。

·throw和throws之间的主要区别在于用途和上下文。throw用于实际抛出异常的地方,而throws用于方法签名中指定异常可能被抛出的地方。

标签:异常,区别,抛出,throw,声明,方法,throws
From: https://www.cnblogs.com/lyfxs/p/17829569.html

相关文章

  • [转载]:npm create vite@latest 和 npm init vue@latest 的区别
    1.npmcreatevite@latest:使用Vite构建工具创建项目模板。Vite是一个现代化的前端构建工具,用于快速搭建现代化的Vue、React或者原生JavaScript项目。通过该命令创建的项目模板具有现代化的构建特性,如快速的热模块替换、即时的开发服务器、基于ES模块的构建等,能够提供......
  • throw与throws的区别
    throw和throws都与异常处理有关,但它们的用法和含义不同。两者的区别throw在方法体内使用,throws在方法声明上使用。throw后面接的是异常对象,只能接一个。throws后面接的是异常类型,可以接多个,多个异常类型用逗号隔开。throw是在方法中出现不正确情况时,手动来抛出异......
  • java中String、StringBuffer和StringBuilder的区别(简单介绍)
    简单介绍java中用于处理字符串常用的有三个类:1、java.lang.String2、java.lang.StringBuffer3、java.lang.StrungBuilder三者共同之处:都是final类,不允许被继承,主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着,且考虑到防止其中的参数被参数修改影响到其他的应用......
  • Hashtable和HashMap之间的区别
    HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中,甚至会要求你实现HashMap来考察你的编程能力。C......
  • 面向对象的 ABAP 里,全局类和局部类有什么区别,以及各自使用场合试读版
    本教程之前的文章,第一次介绍了ABAP面向对象编程领域的类,实例,方法等概念。20.面向对象的ABAP编程初探-什么是类,实例,和Public方法在ABAP很多帮助文档里,我们都能看到SAP在提到类的时候,总是将GlobalClass(全局类)和LocalClass(局部类,有时也称本地类,内部类)相提并论。......
  • vue2 和 vue3 什么区别
    GitHubCopilot:Vue2和Vue3在许多方面都有所不同,以下是一些主要的区别:CompositionAPI:Vue3引入了CompositionAPI,这是一种新的方式来组织和复用代码。这是与Vue2OptionsAPI相比的一个重大改变。性能:Vue3在性能方面进行了大量优化,包括更小的框架大小,更快......
  • 并行和并发有什么区别?
    并发就是在一段时间内,多个任务都会被处理;但在某一时刻,只有一个任务在执行。单核处理器做到的并发,其实是利用时间片的轮转,例如有两个进程A和B,A运行一个时间片之后,切换到B,B运行一个时间片之后又切换到A。因为切换速度足够快,所以宏观上表现为在一段时间内能同时运行多个程序。并行就......
  • Redis持久化⽅式有哪些?有什么区别?
    Redis持久化⽅案分为RDB和AOF两种。RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。RDB⽂件是⼀个压缩的⼆进制⽂件,通过它可以还原某个时刻数据库的状态。由于RDB⽂件是保存在硬盘上的,所以即使Redis崩溃或者退出,只要RDB⽂件存在,......
  • 在除法运算中,使用'/'和'//'有什么区别?
    内容来自DOChttps://q.houxu6.top/?s=在除法运算中,使用'/'和'//'有什么区别?使用其中一种比另一种有什么好处吗?在Python2中,它们似乎返回相同的结果:>>>6/32>>>6//32在Python3.x中,5/2会返回2.5,而5//2会返回2。前者是浮点除法,后者是取整除法,有时也称为整数除法。......
  • 在PHP中,HTTP_HOST和SERVER_NAME有什么区别?
    内容来自DOChttps://q.houxu6.top/?s=在PHP中,HTTP_HOST和SERVER_NAME有什么区别?以下是$_SERVER['HTTP_HOST']和$_SERVER['SERVER_NAME']在PHP中的区别?何时会考虑使用其中之一以及原因是什么?在PHP中,$_SERVER['HTTP_HOST']是从HTTP请求头获取的值,它是客户端实际用作请求的目......