Java中两种抛出异常的方式
Java中两种抛出异常的方式
在Java中有两种抛出异常的方式,一种是throw,直接抛出异常,另一种是throws,间接抛出异常。
直接抛出异常是在方法中用关键字throw引发明确的异常。当throw被执行时,其后语句将不再执行,执行流程将直接寻找catch语句并进行匹配。这种错误不是出错产生,而是人为的抛出。throw抛出异常的格式为
throw ThrowableObject; //例如: throw new ArithmeticException(); |
在Java的异常处理模块中,所有抛出的异常都必须要有对应的“异常处理模块”。也就是说,如果在程序中抛出一个异常,那么在方法中就必须要捕获这个异常。
public class Test { public static void main(String[] args) { System.out.print("now "); try{ System.out.print("is "); throw new NullPointerException(); }catch (NullPointerException e){ System.out.print("the "); } System.out.print("time"); } } now is the time |
如果一个方法可能导致一个异常但不处理它,此时要求在方法声明中包含throws子句,通知潜在调用者,在发生异常时沿着调用层次向上传递,由调用它的方法来处理这些异常,这类异常称为申明异常。实例如下
public class Test { private static void p() throws ArithmeticException{ int i; i = 4/0; } public static void main(String[] args) { try { p(); }catch (ArithmeticException e){ System.out.println("除0错误"); } } } |
在本实例中,语句I = 4/0;将产生异常,产生异常后方法p()并不进行处理,而是由调用p()的main方法进行处理。
Java中两种抛出异常的方式相关推荐
- java中几种创建对象的方式
java中几种创建对象的方式 在java程序中,对象可以被显式地或者隐式地创建. 下面说说四种显式的创建对象的方式: ● 用new语句创建对象 ● 运用反射手段,调用java.la ...
- java中两种异常类型_Java中的三种异常类型
java中两种异常类型 Errors are the bane of users and programmers alike. Developers obviously don't want thei ...
- java中两种遍历集合的方式_Java中Map集合的两种遍历方式
Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...
- PHP中两种包含文件方式、三种注释风格、四种标记风格
2019独角兽企业重金招聘Python工程师标准>>> 一.两种包含文件的方式 ①require语法格式:require("文件名"):这个函数通常放在PHP程序 ...
- Java基础_17 | Java多线程程序设计(Java中两种创建线程的方法、多线程之间的同步和互斥)
1. 多线程实现最核心的机制 一个程序在其执行过程中, 可以产生多个线程, 形成多条执行线索.,每条线程,有产生.存在和消亡的过程,并且独立完成各自的功能,互不干扰. 多线程程序运行只占用一个CPU, ...
- java中三种基本循环方式详解
#博学谷IT学习技术支持# Java循环for,while和do-while 简述:如果对于同一种操作需要执行多次的话,就要使用到循环结构.它可以大大简化代码的书写量,让我们的开发更便捷. 例如:打印 ...
- java+map申明_Java中两种HashMap申明方式区别?
Map是HashMap的父类,第一种声明方式是:父类的引用指向子类的对象,是多态的一种表现形式:第二种是:使用本身引用.举个例子: 第一种声明方式是实现了多态,多态后就可以写出一段所有子类都通用的代码 ...
- java中两种添加监听器的策略
/*第一种:将事件的处理委托给其他对象,下面的例子是委托给了MyListener(implements ActionListener)*/ 1 import java.applet.Applet; 2 ...
- Java中三种交换值得方式
方式一: 适用于任意数据类型 int i= 3 ,j=4; int temp = 0; temp = i; i = j; j = temp; 方式二:只适用于整型数据 int i = 3,j = 4; ...
最新文章
- 使用 Docker 搭建 PostgreSQL 12 主从环境
- 删除linux内核多余架构,删除多余Linux内核方法
- SVG 教程 (六)SVG 阴影,SVG 渐变 - 线性,SVG 渐变- 放射性
- 远程办公(2)-重新定义“雇佣关系”:交易成果,而不是时间
- 输入框聚焦隐藏提示语
- Kafka中的配置项参数unclean.leader.election.enable
- JMeter二次开发(1)-eclipse环境配置及源码编译
- mysql 工具 国产_推荐一款国产化比较好用的数据可视化工具(BI工具)
- spring mybatis mysql 事务不起作用
- office 打开wps乱_wps和office冲突怎么办
- 3D建模除了日常工作,私下还可以赚外快哦,分分钟嗨赚
- 使用idea在serviceImpl中配置radis
- 微信小程序扫描二维码或者条码
- 遇见你是我最美的意外
- 微信公众号post方法Java_Java HttpClient 如何伪装微信浏览器进行POST请求
- [PWN][基础篇]基础理论
- html锚点链接怎么互点,通过优化网页核心关键词快速提升排名
- Sailfish OS
- python wifi模块
- 全排列-python递归解法