Java throw:异常的抛出

作者: 433c801e5456 | 来源:发表于2019-06-06 11:02 被阅读6次
Java系统学习路线.jpg

到目前为止,你只是获取了被Java运行时系统抛出的异常。然而,程序可以用throw语句抛出明确的异常。Throw语句的通常形式如下:
throw ThrowableInstance;
这里,ThrowableInstance一定是Throwable类类型或Throwable子类类型的一个对象。简单类型,例如int或char,以及非Throwable类,例如String或Object,不能用作异常。有两种可以获得Throwable对象的方法:在catch子句中使用参数或者用new操作符创建。

程序执行在throw语句之后立即停止;后面的任何语句不被执行。最紧紧包围的try块用来检查它是否含有一个与异常类型匹配的catch语句。如果发现了匹配的块,控制转向该语句;如果没有发现,次包围的try块来检查,以此类推。如果没有发现匹配的catch块,默认异常处理程序中断程序的执行并且打印堆栈轨迹。

下面是一个创建并抛出异常的例子程序,与异常匹配的处理程序再把它抛出给外层的处理程序。

image.png

该程序有两个机会处理相同的错误。首先,main()设立了一个异常关系然后调用demoproc( )。 demoproc( )方法然后设立了另一个异常处理关系并且立即抛出一个新的NullPointerException实例,NullPointerException在下一行被捕获。异常于是被再次抛出。下面是输出结果:


image.png

该程序还阐述了怎样创建Java的标准异常对象,特别注意下面这一行:
throw new NullPointerException("demo");
这里,new用来构造一个NullPointerException实例。所有的Java内置的运行时异常有两个构造函数:一个没有参数,一个带有一个字符串参数。当用到第二种形式时,参数指定描述异常的字符串。如果对象用作 print( )或println( )的参数时,该字符串被显示。这同样可以通过调用getMessage( )来实现,getMessage( )是由Throwable定义的。

相关文章

  • jvm如何处理异常

    异常分类 抛出异常 显示 throw手动抛出y异常 隐示 java虚拟机碰到无法继续执行的异常状态,自动抛出异常 ...

  • java关键字-- throw 和 throws 的区别

    使用场景:throw 和 throws 关键字都是用于抛出异常 throw 作用:抛出java已有的错误类位置:...

  • Java throw:异常的抛出

    到目前为止,你只是获取了被Java运行时系统抛出的异常。然而,程序可以用throw语句抛出明确的异常。Throw语...

  • 03/13牛客刷题总结

    1.java中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节。 throw用于抛出异常 throws...

  • 面试重灾区:Java的异常体系怎么解?

    Java的异常体系结构 Java异常体系的根类是 Throwable, 所以当写在java代码中写throw抛出异...

  • 学习笔记8-异常处理

    异常处理 使用try和catch处理异常 抛出异常 通过throw关键字来抛出异常,执行到throw语句后,函数会...

  • 0731课程总结

    Java中的throw和throws区别:系统自动抛出的异常所有系统定义的编译和运行异常都可以由系统自动抛出,称为...

  • springboot全局异常处理

    1.java异常 java中的异常可是是函数中的语句引发的,也可以是通过 throw 显示的抛出去的。只要java...

  • Java Throwable、Error与Exception

    Java语言要求java程序中所有抛出(throw)的异常都必须是从Throwable派生而来。当然,实际的Jav...

  • [PHP错误异常]⑧--异常处理案例演示

    Php不像java提供了很多异常类,所以很多异常都会当成错误。要想变错误为抛出异常,需要 手动throw异常对象

网友评论

    本文标题:Java throw:异常的抛出

    本文链接:https://www.haomeiwen.com/subject/ejuyxctx.html