Java 中的 throw 关键字
这个 Throw 关键字主要用于异常处理的概念。顾名思义, throw 关键字的作用是从程序中向编译器抛出异常。异常简介是编译器在代码运行期间出现任何差异时从程序中弹出的一种错误。使用这个 throw 关键字,我们可以通过解释程序运行时错误的任何原因来定义异常。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
让我们在下面看到更多细节:
语法
Java 中的 throw 语法如下:
throw exception_type ;
或
throw instance;
Throw 关键字在 Java 中如何工作?
在这里,我们可以通过示例检查关键字的使用方式并了解流程的工作原理。
import java.util.Scanner; public class Main { public static void main(String[] args) { int c; Scanner sc = new Scanner(System.in); System.out.println("Enter value of A: "); int a = sc.nextInt(); //Scanner b = new Scanner(System.in); System.out.println("Enter value of B: "); int b = sc.nextInt(); try { c= a/b; if(b==0) { throw new ArithmeticException(); } System.out.println("Value of C is: " +c); } catch(ArithmeticException e) { System.out.println("Caught this here"); } finally { } System.out.println("Finally block is here"); } }
让我们用一个经典且简单的除以零的例子来解决这个问题。
分析下面的代码:
- 首先,我们导入了 Scanner 模块来获取用户输入的值。
- 用户输入两个数字,即‘A’和‘B’。
- 我们声明了一个变量“C”来存储数字“A”除以“B”后的商值。
- 由于用户可以随机给出数字,我们可以想到用户可以将除数设为零的情况。
- 接受这种情况,我们在 try 块中编写除法代码。
- 如果条件是“B”值为零,那么我们将抛出异常。
- 始终在“try”后面加上 catch 块。
- 所以,这里我们提到了我们使用新命令通过关键字 throw 定义的异常。
- 同样的异常也被catch了,我们只是打印了下面的一条语句,以便清楚地了解try、throw、catch、finally的流程。
- 然后,最后,我们宣布我们的finally 块。众所周知,该块中的语句肯定会执行。
让我们检查下面的输出。
输出 1: 如果 b 值不为零。
由于“B”值非零,所以没有执行 try、throw 和 catch 块。最后,无论是否创建异常,都会执行该块。
输出 2: 如果 b 值为零。
突出显示的部分确保异常被成功抛出并被 catch 块捕获。
那么,让我们看下面的例子。
示例:
让我们看看如何在单个程序中抛出多个异常。
public class Main { public static void main(String[] args) { String sun[] = {"chocolate", "honey", "sugar", "sweet", "bitter"}; String h = null; try { for (int i=0; i<=7; i++) { if(i > sun.length) { throw new ArrayIndexOutOfBoundsException(); } System.out.println(sun[i]); } } catch(ArrayIndexOutOfBoundsException ae) { System.out.println("Inside array index out of bounds exception catch block"); } try{ sun[0]=h; if (sun[0] == null) { throw new NullPointerException(); } System.out.println("Value of sun[0] is: " +sun[0]); } catch(NullPointerException f) { System.out.println("Caught Null point exception"); } finally { System.out.println("executing finally"); } } }
上面,我们使用了两种不同类型的异常和 throw 关键字来解释程序。数组索引越界和空指针异常是我们在单个程序中使用的。
输出:
投掷的重要性
这个 throw 关键字将帮助我们充当 try 和 catch 块之间的桥梁。它将有助于将程序的控制权从 try 块转移到 catch 块。
让我向您展示一个程序如何使用和不使用 throw 关键字的示例。
public class Main { public static void main(String[] args) { try { int a = Integer.parseInt ("Happy") ; System.out.println("Will this get printed?"); } catch(NumberFormatException e) { System.out.println("Number format exception of catch block"); } System.out.println("Priting after catch block"); } }
我们编写的代码没有 throw 关键字。但是我们使用代码来尝试捕获该块,该块将处理异常。那么,你知道上面的输出吗?
意料之中吧?因此,它执行了代码,发现了异常,并且捕获了异常。
现在,当我们插入 throw 语句时,代码如何工作?下面就来看看吧。
public class Main { public static void main(String[] args) { try { int a = Integer.parseInt ("Happy") ; throw new NumberFormatException(); System.out.println("Will this get printed?"); } catch(NumberFormatException e) { System.out.println("Number format exception of catch block"); } System.out.println("Priting after catch block"); } }
只有突出显示的部分是上面两段代码之间的变化。
输出:
是的,我们有一个编译错误,因为 throw 关键字后面的 print 语句无法访问。我们希望您通过这个例子准确理解“将控制权从 try 转移到 catch 块”的含义。
作为练习,尝试删除抛出关键字后的 print 语句并检查程序如何反应。
结论
因此,这就是异常处理时 throw 命令的作用。我确实注意到 THROW 和 THROWS 关键字之间有很大的区别。两者都与例外的概念一起使用。我们已经知道这个概念、如何以及在哪里可以使用“THROW”关键字。只需练习并尝试以不同的方式使用它即可。继续学习。
以上是Java 中的 throw 关键字的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP和Python各有优势,适合不同场景。1.PHP适用于web开发,提供内置web服务器和丰富函数库。2.Python适合数据科学和机器学习,语法简洁且有强大标准库。选择时应根据项目需求决定。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP成为许多网站首选技术栈的原因包括其易用性、强大社区支持和广泛应用。1)易于学习和使用,适合初学者。2)拥有庞大的开发者社区,资源丰富。3)广泛应用于WordPress、Drupal等平台。4)与Web服务器紧密集成,简化开发部署。

PHP适用于Web开发和内容管理系统,Python适合数据科学、机器学习和自动化脚本。1.PHP在构建快速、可扩展的网站和应用程序方面表现出色,常用于WordPress等CMS。2.Python在数据科学和机器学习领域表现卓越,拥有丰富的库如NumPy和TensorFlow。
