零基础java自学流程-Java语言进阶196
2021/11/22 17:10:09
本文主要是介绍零基础java自学流程-Java语言进阶196,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
2. throw
到目前为止,我们只是获取了被Java运行时系统引发的异常。然而,我们还可以用throw
语句抛出明确的异常。Throw
的语法形式如下:
throw ThrowableInstance;
这里的ThrowableInstance一定是Throwable
类类型或者Throwable
子类类型的一个对象。简单的数据类型,例如int
,char
,以及非Throwable
类,例如String
或Object
,不能用作异常。有两种方法可以获取Throwable
对象:在catch
子句中使用参数或者使用new
操作符创建。
程序执行完throw
语句之后立即停止;throw
后面的任何语句不被执行,最邻近的try
块用来检查它是否含有一个与异常类型匹配的catch
语句。如果发现了匹配的块,控制转向该语句;如果没有发现,次包围的try
块来检查,以此类推。如果没有发现匹配的catch
块,默认异常处理程序中断程序的执行并且打印堆栈轨迹。
例如:
class TestThrow{ static void proc(){ try{ throw new NullPointerException("demo"); }catch(NullPointerException e){ System.out.println("Caught inside proc"); throw e; } } public static void main(String [] args){ try{ proc(); }catch(NullPointerException e){ System.out.println("Recaught: "+e); } } }
结果:
D:\java>java TestThrow Caught inside proc Recaught: java.lang.NullPointerException: demo
该程序两次处理相同的错误,首先,main()
方法设立了一个异常关系然后调用proc()。proc()方法设立了另一个异常处理关系并且立即抛出一个NullPointerException
实例,NullPointerException
在main()
中被再次捕获。
该程序阐述了怎样创建Java的标准异常对象,特别注意这一行:
1 |
|
此处
new
用来构造一个NullPointerException
实例,所有的Java内置的运行时异常有两个构造方法:一个没有参数,一个带有一个字符串参数。当用第二种形式时,参数指定描述异常的字符串。如果对象用作print()
或者println()
的参数时,该字符串被显示。这同样可以通过调用getMessage()来实现,getMessage()是由Throwable
定义的。
尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili尚学堂给同学们带来全新的Java300集课程啦本课程为Java300集2022版第一季,配合最新版的Java课程,所有视频重新录制,课件所有图形做了重新绘制和配色,图解学习Java,让学习成为一种享受本套教程专门为零基础学员而制,适合准备入行Java开发的零基础学员,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。后续课https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.999.0.0
这篇关于零基础java自学流程-Java语言进阶196的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?