在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的。下面的小程序包括一个故意导致被零除错误的表达式。
class Exc0 {
public static void main(String args[]) {
int d = 0;
int a = 42 / d;
}
}

当Java运行时系统检查到被零除的情况,它构造一个新的异常对象然后抛出该异常。这导致Exc0的执行停止,因为一旦一个异常被抛出,它必须被一个异常处理程序捕获并且被立即处理。该例中,我们没有提供任何我们自己的异常处理程序,所以异常被Java运行时系统的默认处理程序捕获。任何不是被你程序捕获的异常最终都会被该默认处理程序处理。默认处理程序显示一个描述异常的字符串,打印异常发生处的堆栈轨迹并且终止程序。

下面是由标准javaJDK运行时解释器执行该程序所产生的输出:
java.lang.ArithmeticException: / by zero
at Exc0.main(Exc0.java:4)
注意,类名Exc0,方法名main,文件名Exc0.java和行数4是怎样被包括在一个简单的堆栈使用轨迹中的。还有,注意抛出的异常类型是Exception的一个名为ArithmeticException的子类,该子类更明确的描述了何种类型的错误方法。本章后面部分将讨论,Java提供多个内置的与可能产生的不同种类运行时错误相匹配的异常类型。

堆栈轨迹将显示导致错误产生的方法调用序列。例如,下面是前面程序的另一个版本,它介绍了相同的错误,但是错误是在main( )方法之外的另一个方法中产生的:
class Exc1 {
static void subroutine() {
int d = 0;
int a = 10 / d;
}
public static void main(String args[]) {
Exc1.subroutine();
}
}

默认异常处理器的堆栈轨迹结果表明了整个调用栈是怎样显示的:
java.lang.ArithmeticException: / by zero
at Exc1.subroutine(Exc1.java:4)
at Exc1.main(Exc1.java:7)
如你所见,栈底是main的第7行,该行调用了subroutine( )方法。该方法在第4行导致了异常。调用堆栈对于调试来说是很重要的,因为它查明了导致错误的精确的步骤。

七. 多线程编程
1.线程的概念
2.Java线程模型
3.主线程
4.创建线程
5.创建多线程
6.isAlive()和join()的使用
7.线程优先级
8.线程同步
9.线程间通信
10.线程死锁
11.线程的挂起、恢复和终止

Java未被捕获的异常相关推荐

  1. java try catch嵌套_解析Java中未被捕获的异常以及try语句的嵌套使用

    Java未被捕获的异常 在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public st ...

  2. Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程

    Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程 参考文章: (1)Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动 ...

  3. Java多线程:捕获线程异常

    你处理过多线程中的异常吗?如何捕获多线程中发生的异常?捕获子线程的异常与捕获当前线程的异常一样简单吗? 除了try catch.Java中还可以通过异常处理器UncaughtExceptionHand ...

  4. 开课吧课堂之未被捕获的异常

    在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public static void ma ...

  5. java fault_java-无法捕获AxisFault异常

    我有一个代码是围绕Web服务的Java包装程序,在例外情况下,它引发AxisFault异常(如下所示) org.apache.axis2.AxisFault: Policy enforcement f ...

  6. android 崩溃日志捕获,安卓Java崩溃的捕获和日志记录

    Android的两种崩溃 Android 崩溃分为 Java 崩溃和 Native崩溃两种. Java崩溃的知识点 Java崩溃.png Java崩溃的原因 简单来说,Java崩溃就是在Java代码中 ...

  7. UncaughtExceptionHandler:java未捕获的异常/错误默认处理方式

    UncaughtExceptionHandler:java未捕获的异常/错误 @(JAVA)[java] java有一部分异常属于运行时异常,这类异常发生时通过会导致程序发生错误,导致退出.如数据下标 ...

  8. java: 未报告的异常错误org.json.JSONException; 必须对其进行捕获或声明以便抛出

    问题: 在springboot项目使用IDE启动的时候,报的 java: 未报告的异常错误org.json.JSONException; 必须对其进行捕获或声明以便抛出 思考: 出现此问题的代码如下 ...

  9. java: 未报告的异常错误java.lang.IllegalAccessException; 必须对其进行捕获或声明以便抛出

    java: 未报告的异常错误java.lang.IllegalAccessException; 必须对其进行捕获或声明以便抛出 错误截图 解决办法 1.在报错所在行所属的方法后加上`throws Ex ...

最新文章

  1. Android 换肤
  2. volecity引入html,HTML5 Velocity.js 从页面下方跳入页面的登录框
  3. setjmp与logjmp用法总结
  4. 作者:周绮凤,女,博士,厦门大学自动化系副教授。
  5. 用 npm script 实现服务自动化运维
  6. php函数、类和对象以及类的封装、继承、类的静态方法、静态属性
  7. Wide-Baseline Image Matching Using Line Signatures
  8. python iloc iat_python数据预处理_DataFrame数据筛选loc,iloc,ix,at,iat
  9. ansys17.2安装教程
  10. MDT批量部署服务搭建
  11. 信息安全等级保护三级要求,安全管理机构多年测评经验分享
  12. 阳光牧场助手 阳光牧场外挂
  13. 【游戏开发实战】教你在Unity中实现笼中窥梦的效果(RenderTexture | 视觉差| 多相机 | 渲染 | shader | 多场景)
  14. 淘宝API 添加上传商品图片
  15. [论文阅读] 对话式推荐系统的进展与挑战:综述(Advances and Challenges in Conversational Recommender Systems: ASurvey)-01
  16. 微信公众号服务器配置及接入验证
  17. 【愚公系列】2023年06月 网络安全(交通银行杯)-疑惑的汉字
  18. CSS 背景图像 background-image属性
  19. 2007年 西安站 东到西开 列车时刻表
  20. 我的世界(18)-精英怪物(InfernalMobs插件)

热门文章

  1. final关键字细节
  2. linux rz xshell
  3. 解决Mysql无法导入存在null数据的问题
  4. Protobuf从安装到配置整理帖
  5. 吴恩达 coursera ML 第九课总结+作业答案
  6. Python 中的Pyc文件
  7. python中循环结构关键字,04.循环结构
  8. [云炬创业基础笔记]第五章创业机会评估测试7
  9. [云炬创业基础笔记]第四章测试22
  10. [2dPIC调试笔记]输入参数归一化1014(1)