java中throw是什么意思_Java中throw和throws的区别是什么
Java中throw和throws的区别是什么
发布时间:2020-07-22 11:26:39
来源:亿速云
阅读:83
作者:Leah
这篇文章运用简单易懂的例子给大家介绍Java中throw和throws的区别是什么,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
区别分析:
throws:用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,谁调用就抛给谁。用在方法声明后面,跟的是异常类名
可以跟多个异常类名,用逗号隔开
表示抛出异常,由该方法的调用者来处理
throws表示出现异常的一种可能性,并不一定会发生这些异常
throw:则是用来抛出一个具体的异常类型。用在方法体内,跟的是异常对象名
只能抛出一个异常对象名
表示抛出异常,由方法体内的语句处理
throw表示抛出了异常,执行throw则一定抛出了某种异常
下面我们来分别介绍一下:
throws在方法后边声明异常,其实就是自己不想对异常做出任何的处理,告诉别人自己可能出现的异常,交给别人处理。
代码示例:package com.xinkaipu.Exception;
class Math{
public int div(int i,int j) throws Exception{
int t=i/j;
return t;
}
}
public class ThrowsDemo {
public static void main(String args[]) throws Exception{
Math m=new Math();
}
}
(视频教程推荐:java视频教程)
throw:就是自己处理一个异常,要么是自己捕获异常try...catch代码块,要么是抛出一个异常(throws 异常)。
代码实现:package com.xinkaipu.Exception;
public class TestThrow
{
public static void main(String[] args)
{
try
{
//调用带throws声明的方法,必须显式捕获该异常
//否则,必须在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,不符合要求");
}
}
}
关于Java中throw和throws的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
java中throw是什么意思_Java中throw和throws的区别是什么相关推荐
- java的throw不常用吗_java中的throw与throws的区别
什么时运行时异常?什么是非运行时异常? 通俗的讲: 运行时异常:就是编译通过,运行时就崩了,比如数组越界. 非运行时异常:就是编译不通过,这时就得必须去处理了.不然就没法运行了. 全面的讲: Thro ...
- Java中非法参数的异常_Java中的异常
异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常. ...
- java中的case1怎么说_Java 中的 CAS 简述及原理解析
一.CAS 是什么? CAS(Compare And Swap),比较并交换,它是一条CPU并发原语.它的功能是判断内存某个位置的值是否为预期值,如果是则更新为新的值,这个过程是原子的.1 publi ...
- java的对象是什么意思_Java中对象和对象引用的区别,引用、指向是什么意思
Java的变量分为两大类:基本数据类型和引用数据类型. 其中基本类型变量有四类8种:byte short int long float double char boolean,除了8种基本数据类型变量 ...
- java 内存溢出和内存泄漏_JAVA中的内存溢出和内存泄漏有很大的区别
JAVA中的内存溢出和内存泄漏分别是什么,有什么联系和区别,我谈谈自己的理解. 内存泄漏(memory leak ):申请了内存不释放,比如100m的内存,分配了10m的内存一直不回收,那么可以用的内 ...
- java中的方法在哪里_Java中的本机方法是什么,应在哪里使用?
小编典典 Java中的本机方法是什么,应在哪里使用? 一旦看到一个小例子,就很清楚了: Main.java : public class Main { public native int intMet ...
- java中为什么要用注解_java中的注解,真的很重要,你理解了嘛?
这篇文章开始讲解java中的注解,在平时的开发当中我相信你或多或少的接触过注解.比如你可能都见过@override,它代表的就是一个注解.但是,为了更加清晰的去介绍注解,我还是先给出一个例子,让你能够 ...
- java中volatile关键字的含义_java中volatile关键字的含义
转自:http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html 在java线程并发处理中,有一个关键字volatile的使用目前存 ...
- java中map如何实现遍历_Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
最新文章
- SQL Server 2008行数据和页数据压缩解密
- linux查看log4c版本号,linux下安装log4cplus
- 安卓 spinner下拉框 做模糊查询_如何用一张图来做全年/去年的部门离职率动态对比...
- 近世代数--多项式环--未定元的存在性
- csuoj 1350: To Add Which?
- 51单片机雾化片自动扫频程序_单片机简介
- 类别动态绑定到TreeView控件
- 动态规划:任务调度问题(双塔问题)
- working-with-php-and-beanstalkd
- wine linux 目录,wine的安装与microsoft office在linux上的运行
- Android开发网上的一些重要知识点
- 关于RocketMQ消费者消费队列的消费起始位置源码分析
- BMCBIOS全擦升级
- 基于python解析网易云歌单.
- Kettle5.4调用Redis
- 采购价格条件报表(双loop)
- 《考研-数据结构-哈弗曼树-已知某段通信报文内容,对该报文进行哈弗曼编码,并计算平均码长》
- STM32F103C8的keil环境配置和STlink烧录
- MOOC 苏小红C语言 第四周编程题
- 使用wkhtmltopdf把网页转换为pdf的经验总结
热门文章
- ubuntu如何安装及卸载mysql服务详细教程-图文版
- vue——echarts更换主题
- 创建Direct3D9设备-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(5)
- 关于直接下载第三方IPA应用分发平台之蒲公英的研究
- Chrome 制作绿色便携版
- C++计算机二级操作题(二)
- 【数学建模】“一口价”的战略(博弈模型)
- 计算机系统(1) 实验五 中断实验
- 详解注意力机制和Transformer
- JSP内置对象Session——setAttribute/getAttibute/removeAttribute