博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是异常?解释“抛出”和“捕获”的含义
阅读量:5269 次
发布时间:2019-06-14

本文共 763 字,大约阅读时间需要 2 分钟。

        异常通常指,你的代码可能在编译时没有错误,可是运行时会出现异常。比如常见的空指针异常。也可能是程序可能出现无法预料的异常,比如你要从一个文件读信息,可这个文件不存在,程序无法运行下去了,故程序要抓这些异常,通过异常处理机制来抛出这些异常,程序员就可以通过抛出的异常来修改代码。try{}catch{}finally{}try块中放入可能会出现异常的代码,catch块负责捕获异常,finally块负责处理一些必须执行的代码,比较关闭流等。

抛出异常:如果程序中出现了异常,没有办法将具体的异常打印出来,不做任何处理

 

捕获异常:如果程序出现了异常,就能够详细的打印是什么原因导致了异常并且能够做出相应的处理,能够显示详细的Log

 

如果代码是抛出异常的方式,在运行时出现异常,并且打印的Log不明显,可以改用try{}catch方式来捕获异常,打印出详细的信息

 

throws语句   

        throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。  

throw语句   

        throw总是出现在函数体中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。

转载于:https://www.cnblogs.com/bigbigbird/p/11387202.html

你可能感兴趣的文章
启用yarn日志聚集功能
查看>>
iOS 阶段学习第四天笔记(循环)
查看>>
Hibernate 多对多
查看>>
Nebula3 Light && Shadow 系统
查看>>
CSS_绝对定位偏移
查看>>
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
查看>>
T-SQL查询进阶--深入浅出视图
查看>>
[.NET Core 24]把project.json迁移到.csproj
查看>>
卸载、指定卸载 .NET Core Runtime and SDK
查看>>
Django - 获取请求方式
查看>>
子网掩码
查看>>
相对导入与绝对导入
查看>>
71.Edit Distance(编辑距离)
查看>>
深入Dagger:自定义AutoValue
查看>>
3.0 C++远征:模板
查看>>
[转][Prism]Composite Application Guidance for WPF(6)——服务
查看>>
特效:ListBox数据加载特效
查看>>
向保钓人士致敬!
查看>>
play!安装出错:Error: Could not find or load main class Files ...(2012-10-25 09:13:43)
查看>>
设计模式之禅--状态模式
查看>>