在类和方法后面用throws,直接抛出异常就要用到throw。

参考的是英语的语法,英语里就是第三人称后面要+s

这两者虽然看起来只有一个s的区别,但是作用完全不一样
/java处理异常方式///
在java代码中如果发生异常的话,jvm会抛出异常对象,导致程序代码中断,这个时候jvm在做的操作就是:创建异常对象,然后抛出,比如:

int i= 1;
int j = 0;
int res = 0;
res = i/j;//除0错误
System.out.println(res);

这5句代码运行到第四句会中断,因为jvm抛出了异常

throw的作用/
手动抛出异常

但是有时候有些错误在jvm看来不是错误,比如说
int age = 0;
age = -100;
System.out.println(age);
很正常的整形变量赋值,但是在我们眼中看来就不正常,谁的年龄会是负的呢。
所以我们需要自己手动引发异常,这就是throw的作用
int age = 0;
age = -100;
if(age<0)
{
Exception e = new Exception();//创建异常对象
throw e;//抛出异常
}
System.out.println(age);

throws的作用///
声明方法可能回避的异常

有异常被抛出了,就要做处理,所以java中有try-catch
可是有时候一个方法中产生了异常,但是不知道该怎么处理它,那么就放着不管,当有异常抛出时会中断该方法,而异常被抛到这个方法的调用者那里。这个有点像下属处理不了的问题就交到上司手里一样,这种情况称为回避异常
但是这使得调用这个方法就有了危险,因为谁也不知道这个方法什么时候会丢一个什么样的异常给调用者,所以在定义方法时,就需要在方法头部分使用throws来声明这个方法可能回避的异常
void fun()throws IOException,SQLException
{
...
}
这表示 fun方法可能会丢两个异常出来,那么在调用fun的时候就会做好准备,比如可以这样
try
{
fun();
}catch(IOException e)
{
}catch(SQLException e)
{
}
完毕

throw与throws的区别相关推荐

  1. Java 创建用户异常类、将异常一直向上抛、 throw和throws的区别

    Java 创建用户异常类.将异常一直向上抛. throw和throws的区别 参考文章: (1)Java 创建用户异常类.将异常一直向上抛. throw和throws的区别 (2)https://ww ...

  2. java throw与throws_基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  3. throws java_基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  4. Java之throw和throws的区别

    throw和throws的区别 共同点 区别 总结 共同点 两者在抛出异常时,抛出异常的方法并不负责处理,顾名思义,只管抛出,由调用者负责处理. 区别 (1)throws用于方法头,表示的只是异常的申 ...

  5. throw 和 throws 的区别

    我们在运行一段代码,做一个项目的时候遇到BUG.异常是再正常不过的事情.说到异常,异常种类是有很多种的,Throwable就是异常的根类. 常见的异常就有在Throwable下的子类 错误 - Err ...

  6. throw和throws的区别(java)

    目录 1.什么是声明异常(throws)? 1.1.声明格式 1.2.代码演示 2.什么是throw? 2.1.声明格式 2.2.代码演示 3.throw和throws的区别? 1.什么是声明异常(t ...

  7. throw和throws的区别

    throw和throws的区别: throw代表动作,表示抛出一个异常的动作:throws代表一种状态,代表方法可能有异常抛出:throw用在方法实现中,而throws用在方法声明中:throw只能用 ...

  8. throw 和 throws 的区别?

    throw 和 throws 的区别? throw: 表示方法内抛出某种异常对象 如果异常对象是非 RuntimeException 则需要在方法申明时加上该异常的抛出 即需要加上 throws 语句 ...

  9. java里throws详细讲解,基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  10. java throw 和throws的区别

    * throw和throws的区别:*1.位置不同* throw:方法的内部* throws:方法的声明处* 2.内容不同* throw new 异常();* throws+异常类型的对象(可以有多个 ...

最新文章

  1. 2022-2028年中国汽车内饰行业市场需求与投资规划分析报告
  2. javascript运动系列第九篇——碰撞运动
  3. 被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
  4. python学习手册中文版免费下载-Python学习手册(第3版)
  5. 新站SEO优化五点注意事项!
  6. webpack从入门到精通(一)初体验
  7. ubuntu 允许root用户登陆ssh
  8. EJB钝化和激活示例
  9. python api数据接口_python写数据api接口
  10. 求子数组的最大和要求O(n)
  11. 计算机专业考试系统,计算机基础考试系统
  12. 企业微信每日定时自动上报
  13. 指针(指针是什么,指针和指针的类型)
  14. 非北京户口的驾照到期换证小攻略(仅供参考)
  15. Endless Dice 游戏解析
  16. 注意啦,还没有支持64位系统的App开发者,务必在12月底前完成这件事
  17. 汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp 寄存器 含义
  18. 劝君莫惜金缕衣 劝君惜取少年时 2015年 ,我22岁。
  19. ZT中国制造的神奇硬盘
  20. linux下创建文件和文件夹

热门文章

  1. Cannot create an instance of class AndroidViewModel (androidx ViewModelProvider AndroidViewModel)
  2. hwcomposer介绍
  3. 2018年北航计算机学院推免夏令营经验
  4. python如何获取列表的长度
  5. 数学建模 | MATLAB学习 | 插值 一维插值函数、三次样条插值
  6. 九章算法笔记D2-坐标型动态规划
  7. python如何使用gpu加速_如何用云端 GPU 为你的 Python 深度学习加速?
  8. tf.multiply()
  9. 手游辅助制作原理和学习思路
  10. 前端必备:五大css自动化生成网站(稀有级别!)