在Java中,你可能知道,异常可以分为两个:一个需要throws子句,或者必须处理,如果你没有指定一个和另一个。现在,见下图:

在Java中,你可以抛出任何扩展Throwable类的东西。但是,您不需要为所有类指定throws子句。具体来说,类是Error或RuntimeException或这两个类的任何子类。在你的情况下,Exception不是Error或RuntimeException的子类。因此,它是一个已检查的异常,必须在throws子句中指定,如果您不处理该特定异常。这就是为什么你需要throws子句。

An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program’s instructions.

现在,正如你所知,例外被分为两个:已选中和未选中。为什么要这些分类?

检查异常:它们用于表示在程序执行期间可以恢复的问题。他们通常不是程序员的错。例如,用户指定的文件不可读,或者没有可用的网络连接等。在所有这些情况下,我们的程序不需要退出,它可以采取行动,如警告用户,或进入后退机制(如网络不可用时离线工作)等。

未检查的异常:它们又可以分为两个:错误和运行时异常。他们被取消检查的一个原因是,他们在数量众多,需要处理所有这些都会混乱我们的程序,并降低其清晰度。另一个原因是:

>运行时异常:它们通常由于程序员故障而发生。例如,如果发生了除以零的ArithmeticException或发生ArrayIndexOutOfBoundsException,那是因为我们在编码中不够仔细。他们发生通常是因为我们的程序逻辑中的一些错误。因此,它们必须在我们的程序进入生产模式之前清除。它们在未被检查的意义上,我们的程序必须在发生时失败,以便我们的程序员可以在开发和测试本身时解决它。

>错误:错误是通常程序无法恢复的情况。例如,如果发生StackOverflowError,我们的程序不能做太多,例如增加程序的函数调用堆栈的大小。或者如果发生OutOfMemoryError,我们不能做太多增加可用于我们的程序的RAM的量。在这种情况下,最好退出程序。这就是为什么他们被取消检查。

详细信息请参见:

java 函数后面 throws_java – 为什么在调用函数时需要“throws Exception”?相关推荐

  1. 编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制

    题目要求: 编写一个C程序,实现以下功能: //编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101. //在main函数中输入整数n,调用函数 ...

  2. php new对象 调用函数,关于JS中new调用函数的原理介绍

    这篇文章主要介绍了关于JS中new调用函数的原理介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 JavaScript 中经常使用构造函数创建对象(通过 new 操作符调用一个函数) ...

  3. 函数定义、函数参数、跨脚本调用函数

    2.6.函数使用 函数定义 示例(文件名称为func1.sh): #!/bin/bash ##定义函数 hello() { echo "Hello there today's date is ...

  4. linux dlopen函数,dlopen 和 dlsym 动态调用函数

    Linux/unix 提供了使用 dlopen 和 dlsym 方法动态加载库和调用函数,这套方法在 macOS 和 iOS 上也支持. dlopen 打开一个库,获取句柄. dlsym 在打开的库中 ...

  5. matlab调用函数出错,[MATLAB基础] matlab 调用函数老是出错怎么回事??高手请指点一下...

    matlab 调用函数老是出错怎么回事??高手请指点一下 function main() for w2=1:1:100 %生成一个区间 p1=w2; p2=p1+1; eps=1.0e-4; y=er ...

  6. 调用dll时出现“Unhandled exception 堆已损坏(heap corruption)“异常解决方法

    转自:http://blog.sina.com.cn/s/blog_668aae780101iou9.html http://yaogangshi.iteye.com/blog/1001690 htt ...

  7. java 固定值_这些频繁调用函数是否可以在dblquad中返回固定值?

    该脚本使用SciPy的dblquad计算来自均匀充电环的(x0,y0,z0)处的电场 . 我的问题是关于 gfun 和 hfun 的使用,它定义了内积分限制对外积分变量的函数依赖性 . 如果我选择整合 ...

  8. C语言:对输入的一个数判断是否是素数。所谓素数是指这个数只能被1和自身整除。要求在主函数输入一个数,调用函数Fun()判断该数是否是素数。

    话不多说直接上代码: #include <stdio.h> int Fun(int m); //函数原型声明 int main() {int m, flag;printf("Pl ...

  9. C语言,向函数传递一维数组,调用函数并计算平均成绩

    代码如下: 说明:编译器为vs,所以使用的是scanf_s #include <stdio.h> #define N 40 int Average(int score[], int n); ...

最新文章

  1. 【腾讯Bugly干货分享】Android Patch 方案与持续交付
  2. SAP如何直接往系统中数据库表插入数据
  3. 高级特性(1)-切片
  4. mybatis in集合查询
  5. java写soap客户端_Java:简单的SOAP客户端
  6. java中io流是类吗_Java中的IO流
  7. JAVA进阶day06内部类和匿名类
  8. 小说网站程序源码 自动采集 SEO优化
  9. Jurassic.ScriptEngine 简易示例
  10. std中稳定排序算法_排序算法问题:稳定排序与不稳定排序
  11. WebKit编译小结
  12. java web背景颜色表,更改表行背景颜色
  13. SEODONG Medical推出创新干眼症治疗仪器,深受海外消费者好评
  14. R语言中dim函数_R语言入门:函数介绍(3)—— %gt;%
  15. ansible set_fact模块
  16. maven中使用assembly打包
  17. Keras天坑:想当然的对层的直接运算带来的问题
  18. 矩阵中的entries是什么
  19. 转文:华为鸿蒙操作系统全景解构
  20. bim oracle,IBMS和BIM的融合之路

热门文章

  1. KubeSphere安装KubeEdge
  2. 程序员炫技:探索高级编程之美
  3. zxing 二维码扫描优化
  4. 《快活帮》第四次作业:项目需求调研与分析
  5. APP自动更新(全)
  6. FAILED BINDER TRANSACTION (Android Binder传输数据大小限制)
  7. 小程序开发---“逆战版”
  8. pte模拟考试_PTE 模拟考和真实考试一般差多少分?
  9. 程序验证(一):命题逻辑
  10. 基于Win7、Python2.7安装一系列机器学习工具