`
cakin24
  • 浏览: 1396392 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

throw抛出异常

    博客分类:
  • java
阅读更多

一 throw抛出异常介绍

如果需要在程序中自行抛出异常,应使用throw语句,throw语句可以单独使用,throw语句抛出的不是异常类,而是一个异常实例,而且每次只能抛出一个异常实例。

throw语句的语法格式如下:

throw ExceptionInstance;

 

二 throw的应用

1 代码示例

public class ThrowTest
{
	public static void main(String[] args)
	{
		try
		{
			// 调用声明抛出Checked异常的方法,要么显式捕获该异常
			// 要么在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,不符合要求");
		}
	}
}

 

2 运行结果

Exception in thread "main" java.lang.RuntimeException: a的值大于0,不符合要求
 at ThrowTest.throwRuntime(ThrowTest.java:35)
 at ThrowTest.main(ThrowTest.java:18)

3 结果分析

  • 如果throw语句抛出的异常是Checked异常,则该throw语句要么处于try块里,显式捕获该异常,要么放在一个带throws声明抛出的方法中,即把该异常交给该方法的调用者处理。
  • 如果throw语句抛出的异常是Runtime异常,则该语句无须放在try块中,也无须放在带throws声明抛出的方法中,程序既可以显示使用try...catch来捕获并处理该异常,也可以完全不理会该异常,把该异常交给该方法调用者处理。
0
0
分享到:
评论

相关推荐

    21.javathrow抛出异常对象.zip

    21.javathrow抛出异常对象.zip21.javathrow抛出异常对象.zip21.javathrow抛出异常对象.zip21.javathrow抛出异常对象.zip21.javathrow抛出异常对象.zip21.javathrow抛出异常对象.zip21.javathrow抛出异常对象.zip21....

    java throw抛出异常实例二

    `throw`关键字在Java中被用来显式地抛出一个异常。当我们遇到一个预期之外的情况,或者某些条件不满足时,可以使用`throw`来中断当前的执行流程,并将控制权转移到能够处理这种情况的代码块。下面我们将详细讨论`...

    java throw抛出异常实例一

    `throw`关键字是Java中用于显式抛出异常的关键字。本实例将深入探讨如何使用`throw`来创建和处理自定义异常,以及它在实际编程中的应用。 首先,我们了解异常的基本概念。在Java中,异常是程序执行过程中遇到的不...

    Java编程中使用throw关键字抛出异常的用法简介

    `throw`关键字是Java中用于手动抛出异常的关键字,通常在检测到某个条件不符合预期或者需要提供特定错误信息时使用。以下是对`throw`关键字使用的一些详细解释和示例。 ### 抛出异常的基本语法 在Java中,`throw`...

    Java异常处理-throw手动抛出异常对象

    通过以上内容,我们可以看到Java异常处理中的throw关键字用于手动抛出异常对象,这在处理不符合业务逻辑或预期情况时非常有用。理解并熟练运用异常处理机制,可以显著提升程序的稳定性和可靠性。

    C#自定义异常类throw语句抛出异常

     异常(Exception)一般分为两大类SystemException、ApplicationException,前者是预定义的异常类,后者是用户自定义异常类时需要继承的类  简单自定义异常类Demo   using System; using ...

    关于在SQL中抛出异常的写法

    SQL中抛出异常主要通过`RAISERROR`或`THROW`语句实现,这两个语句允许我们自定义错误信息,指定错误级别和状态,从而控制程序的执行流程。以`RAISERROR`为例,其基本语法如下: ```sql RAISERROR (message [ , ...

    Java 自定义异常和抛出异常

    自定义异常和抛出异常是Java异常处理机制的重要组成部分,它们允许开发者更精细地控制程序的错误处理流程。本篇文章将深入探讨这两个概念。 首先,让我们了解什么是自定义异常。Java提供了一套内置的异常类,如`...

    c#异常含异常格式,抛出异常和自定义异常

    总结一下,C#中的异常处理是通过异常格式(包括try-catch-finally结构)、抛出异常(使用`throw`关键字)和自定义异常(继承自`Exception`类)来实现的。掌握这些技巧,可以帮助我们在编写代码时更好地应对可能出现...

    方法抛出的异常处理 (2)修改UserDaoImp1类,要求用户id不能修改,修改则抛出异常 使用log4j输出日志信息

    (2)修改UserDaoImp1类,要求用户id不能修改,修改则抛出异常 (3)使用log4j输出日志信息 2.技能训练 (1)会使用try-catch-finally捕获和处理异常 (2)会使用throw和throws (3)会使用log4j记录日志 3.实践 ...

    抛出异常代码示例

    Java作为一种广泛应用的面向对象编程语言,提供了丰富的异常处理机制,包括`throw`关键字来抛出异常、`try-catch`语句块来捕获并处理异常等。通过这些机制,开发者可以在编写程序时更加灵活地处理各种异常情况。 ##...

    C++ 异常类 抛出与捕获异常

    `try` 块用来包含可能抛出异常的代码,`catch` 块用于捕获并处理这些异常,而 `throw` 语句则用于在程序中引发异常。 `throw` 语句可以用于任何类型的数据,但通常我们使用预先定义的异常类来提高可读性和代码的...

    java异常处理机制示例(java抛出异常、捕获、断言)

    1. **try** 关键字:用于包围可能抛出异常的代码块。当try块中的代码抛出一个异常时,控制权会立即转移到与之匹配的catch块。 2. **catch** 关键字:用于捕获try块中抛出的异常。你可以有多个catch块来捕获不同类型...

    ActionScript3异常处理

    使用throw抛出异常 除了系统自动抛出的异常,开发者也可以通过`throw`关键字手动抛出异常。这在需要明确指示程序中的特定错误点时非常有用。在AS3中,可以抛出`Error`类或其子类的实例,也可以创建自定义异常类。 ...

    实现Java异常抛出和处理

    `try`块包含可能抛出异常的代码,`catch`块用来捕获并处理异常,而`finally`块则包含无论是否发生异常都需要执行的代码: ```java try { // 可能抛出异常的代码 } catch (ExceptionType1 e1) { // 处理Exception...

    C# 中的异常处理

    使用Throw 抛出异常 - `throw`语句用于抛出一个异常。它可以是捕获到的异常,也可以是新创建的异常对象。 - 示例: ```csharp void CheckAge(int age) { if (age ) { throw new ArgumentException("年龄必须...

    Java自定义异常

     2)在方法中通过关键字throw抛出异常对象。  3)若是在当前抛出异常的方法中处理异常,可以用try-catch语句捕获并处理;若不是,在方法的声明处通过关键字throws指明要抛出给方法调用的异常。

    让vc6支持new 抛出异常

    在VC6中,`new`失败只会返回`NULL`,而不是抛出异常,这可能导致难以调试的问题,尤其是当程序依赖于异常处理机制来捕获内存分配失败的情况。 要使VC6支持`new`失败时抛出异常,我们需要手动实现这个功能。一种方法...

    C++中异常处理的基本思想及throw语句抛出异常的使用

    - **try块**:包含可能抛出异常的代码。如果在try块内发生异常,控制权会立即传递给相应的catch子句。 - **catch子句**:跟在try块之后,用于捕获并处理特定类型的异常。catch子句按照它们在代码中的顺序被检查,...

Global site tag (gtag.js) - Google Analytics