throw和throws的区别?

throw:

  • 表示方法内抛出某种异常对象(只能是一个)
  • 用于程序员自行产生并抛出异常
  • 位于方法体内部,可以作为单独语句使用
  • 如果异常对象是非 RuntimeException 则需要在方法申明时加上该异常的抛出,即需要加上 throws 语句 或者 在方法体内 try catch 处理该异常,否则编译报错
  • 执行到 throw 语句则后面的语句块不再执行

throws:

  • 方法的定义上使用 throws 表示这个方法可能抛出某些异常(可以有多个)
  • 用于声明在该方法内抛出了异常
  • 必须跟在方法参数列表的后面,不能单独使用
  • 需要由方法的调用者进行异常处理
  1. package constxiong.interview;
  2. import java.io.IOException;
  3. public class TestThrowsThrow {
  4. public static void main(String[] args) {
  5. testThrows();
  6. Integer i = null;
  7. testThrow(i);
  8. String filePath = null;
  9. try {
  10. testThrow(filePath);
  11. } catch (IOException e) {
  12. e.printStackTrace();
  13. }
  14. }
  15. /**
  16. * 测试 throws 关键字
  17. * @throws NullPointerException
  18. */
  19. public static void testThrows() throws NullPointerException {
  20. Integer i = null;
  21. System.out.println(i + 1);
  22. }
  23. /**
  24. * 测试 throw 关键字抛出 运行时异常
  25. * @param i
  26. */
  27. public static void testThrow(Integer i) {
  28. if (i == null) {
  29. throw new NullPointerException();//运行时异常不需要在方法上申明
  30. }
  31. }
  32. /**
  33. * 测试 throw 关键字抛出 非运行时异常,需要方法体需要加 throws 异常抛出申明
  34. * @param i
  35. */
  36. public static void testThrow(String filePath) throws IOException {
  37. if (filePath == null) {
  38. throw new IOException();//运行时异常不需要在方法上申明
  39. }
  40. }
  41. }

 

Java

javap的作用是什么?

2020-7-23 11:17:03

Java

try-catch-finally中哪个部分可以省略?

2020-7-23 11:45:37

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索