基本概念

  • 将程序执行中发生的不正常的情况称为“异常”。开发中的语法错误和逻辑错误不是异常

执行过程中的异常事件可分为两大类

  • 错误(Error):Java虚拟机无法解决的严重问题。例如:JVM系统内存错误,资源耗尽等严重问题
  • Exception:其他因为编程错误或偶尔的外在因素导致的一般性
  • 可以针对不同的代码进行处理

Exection有(编译异常[编译时,编译器查找出的异常]和运行异常[开发时,运行时])

异常体系图

异常体系图总结

  • 一般分为两大类,一种是编译时异常,一种是运行时异常
  • 运行时异常编译器检查不出来。一般是指编译时逻辑错误 ,是程序员应该避免其异常
  • 对于运行时异常可以不做处理,因为这类异常很普遍,若全处理可能会对程序的可读性,运行效率产生影响
  • 编译时异常,是编译器要求必须处理的异常

常见的运行时异常

  • Null Pointer Exception 空指针异常  : 指还没有创建对象就想使用,会抛出空指针异常,当应用程序在需要对象的地方使用null时,会抛出异常
  • Airthmetic Exception 数学运算异常:会出现异常的运算条件时抛出异常。例如一个整数除零时会抛出异常
  • ArrayIndex OutOfBounds Exception 数组下标越界异常:数组下标越界异常,用非法索引访问数组时抛出异常。如果索引为负或大于等于数组大小则所因为非法索引。
  • Class cast Excetion 类型转换异常:当试图将对象强制转换为不是实例的子类时,会抛出异常
  • Number Format Excetion 数字格式不正确异常:当应用程序试图将字符串转成一种数值类型,但该字符串不能转换为适当格式,抛出异常

编译异常

  • 编译异常就是指编译阶段,就必须处理的异常,否则代码不能通过编译
  • 常见的编译异常

异常处理

  • 异常处理就是在异常发生时,对异常处理的方式
  • 异常处理的方式

  • 理解

  • try-catch-finally 执行顺序小结

throws 异常处理

throws和throw的区别

java中的异常(Exception)的更多相关文章

  1. Java中的异常Exception

    涉及到异常类相关的文章: (1)异常类不能是泛型的 http://www.cnblogs.com/extjs4/p/8888085.html (2)Finally block may not comp ...

  2. Java中的Checked Exception——美丽世界中潜藏的恶魔?

    在使用Java编写应用的时候,我们常常需要通过第三方类库来帮助我们完成所需要的功能.有时候这些类库所提供的很多API都通过throws声明了它们所可能抛出的异常.但是在查看这些API的文档时,我们却没 ...

  3. 【Java心得总结二】浅谈Java中的异常

    作为一个面向对象编程的程序员对于 下面的一句一定非常熟悉: try { // 代码块 } catch(Exception e) { // 异常处理 } finally { // 清理工作 } 就是面向 ...

  4. Java中的异常-Throwable-Error-Exception-RuntimeExcetpion-throw-throws-try catch

    今天在做一个将String转换为Integer的功能时,发现Integer.parseInte()会抛出异常NumberFormatException. 函数Integer.parseInt(Stri ...

  5. Java中的异常详解

    一.异常定义 阻止当前方法或作用域继续执行的问题,称为异常 二.异常分析      所有不正常类都继承Throwable类,这个类主要有两个子类Error类和Exception类.Error指系统错误 ...

  6. Java中的异常和处理详解

    简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?. ...

  7. Java中的异常简介

    Java中异常的分类 Java中的异常机制是针对正常运行程序的一个必要补充,一般来说没有加入异常机制,程序也能正常运营,但是,由于入参.程序逻辑的严谨度,总会有期望之外的结果生成,因此加入异常机制的补 ...

  8. java中的异常类

    Java中的异常: 1. Throwable是所有异常的根,java.lang.Throwable Throwable包含了错误(Error)和异常(Exception),Exception又包含了运 ...

  9. Java 中的异常

    前段时间集合的整理真的是给我搞得心力交瘁啊,现在可以整理一些稍微简单一点的,搭配学习 ~ 突然想到一个问题,这些东西我之前就整理过,现在再次整理有什么区别嘛?我就自问自答一下,可能我再次整理会看到不一 ...

随机推荐

  1. 使用Xamarin开发移动应用示例——数独游戏(六)使用数据库

    项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 现在我们希望为应用增加更多的功能,比如记录每个完成的游戏,可以让用户自己添加 ...

  2. 计算机网络再次整理————tcp的关闭[七]

    前言 tcp的关闭不是简单粗暴的,相对而言是友好优雅的,好聚好散吧. 那么友好的关闭方式是这样的: 假设这里是客户端请求关闭的,服务端倒过来. 客户端:我要请求关闭 服务端:我接收到你的请求了,等我把 ...

  3. samb建立共享文件夹,windows报无法访问没有访问权限

    一.首先确保你已经成功安装上了samba 二.在修改smb.conf文件之前,先拷贝一个备份,然后输入下面的命令修改smb.conf gedit /etc/samba/smb.conf将smb.con ...

  4. JS 将Table内容导出到Excel(样式设计)

    转载请注明来源:https://www.cnblogs.com/hookjc/ function saveAsExcel(tableID){ var tb = new TableToExcel(tab ...

  5. Docker入门 安装 基础操作命令

    Docker 学习来源 https://www.bilibili.com/video/av26993050/?spm_id_from=333.788.b_636f6d6d656e74.20 https ...

  6. getter/setter方法

    1.setter方法 作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值 命名规范: 必须是对象方法 返回值类型为void 方法名必须以set开头,而且后面跟上成员变量名去掉"_&q ...

  7. k8s之yaml文件详解

    k8s之yaml文件详解 目录 k8s之yaml文件详解 1. k8s支持的文件格式 2. YAML语言格式 3. 查看api资源版本标签 4. 编写nginx-test.yaml资源配置清单 4.1 ...

  8. 猪齿鱼平台常用前端css实现方案

    居中 最常用的height + line-height,以及margin:0 auto的居中方式就不再阐述,以下介绍两种容错性高的实现方案. flex布局实现 ​ 猪齿鱼前端日常开发中,我们多以fle ...

  9. Spring Security探究之路之开始

    前言 在Spring Security介绍中,我们分析到了根据请求获取匹配的SecurityFilterChain,这个类中包含了一组Filter 接下来我们从这些Filter开始探究之旅 Sprin ...

  10. 「codeforces - 1284G」Seollal

    给定 \(n\times m\) 的网格图,有些格子有障碍,无障碍且相邻的格子之间连边形成图.保证 \((1, 1)\) 无障碍,保证无障碍格子连通. 将网格图黑白染色,相邻格子颜色不同,\((1, ...