在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. 大数据教程(13.6)sqoop使用教程
  2. Cissp-【第1章 安全和风险管理】-2020-12-31(86页-98页)
  3. python xpath语法-Python爬虫——bs4、xpath基本语法
  4. esriFeatureType与esriGeometryType的区别与联系
  5. 服务器告警其一:硬盘raid问题
  6. 基于Kafka+Flink+Redis的电商大屏实时计算案例
  7. mysql报错注入实战_MySQL手工注入实战
  8. 工作32:get之前打印
  9. SQLServer导入excel报错因缺少插件
  10. vscode远程无法更新
  11. python单引号双引号三引号_python中的单引号、双引号和三引号有何区别
  12. 群晖 root_群晖洗白简单教程
  13. objective-C 的OOP(上)--类定义、继承及方法调用
  14. python中冒号的语法错误_找不出python的语法错误该如何解决?
  15. 在Mac上运行.exe文件
  16. linux用vi使一个段落对齐,12.8 Linux下vi命令和shell学习
  17. 强烈推荐这些值得下载的神仙工具,每一个都让人惊喜
  18. addon游戏_我的世界多人addon地图
  19. html5图片2d转换器,webp2jpg - 图片格式转换工具
  20. 如果当初......

热门文章

  1. arcgis merge后打散工具
  2. vivox20 html阅读器,【vivoX20评测】软件适配才是全面屏的最大优势_vivo X20_手机评测-中关村在线...
  3. pdf转jpg怎么解决?这五个转换方法快速搞定!
  4. 线程安全和可重入函数
  5. Python 集合函数
  6. 观早报 | 特斯拉储能超级工厂落沪;“华尔街之狼”募资550亿
  7. 蓝牙运动耳机哪个好,比较好的运动蓝牙耳机
  8. 基础知识-拉丁舞共性
  9. Docker 搭建 SRS 流媒体服务器
  10. 扫地机器人石头爬坡_扫地、拖地绝不动手 懒人如此养成:2599元神器让大房清洁无压力...