基本概念

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

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

  • 错误(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. STC8H开发(九): STC8H8K64U模拟USB HID外设

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  2. 长时间不操作Navicat或Putty会断线?

    问题描述 今天发现只要一直不使用Putty,发现就会"卡住",还有Navicat连接数据库也有类似问题. 问题分析 Linux或者数据库都想节省连接资源呗. 问题解决 那就隔一段时 ...

  3. Redis sentinel.conf配置文件详解

    redis-sentinel.conf配置项说明如下: 1.port 26379 sentinel监听端口,默认是26379,可以修改. 2.sentinel monitor <master-n ...

  4. python继承关系中,类属性的修改

    class Grandfather(object): mylist = [] def __init__(self): pass class Father(Grandfather): pass Gran ...

  5. shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式

    shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式 1.sort命令 概述: Linux sort命令用于将文本文件内容加以排序. sort命令可针对文本文件的内容,以行为单 ...

  6. CSS3自定义滚动条样式-webkit内核

    自定义滚动条实现 此部分针对webkit内核的浏览器,使用伪类来改变滚动条的默认样式,详情如下: 滚动条组成部分 1. ::-webkit-scrollbar 滚动条整体部分 2. ::-webkit ...

  7. linux 定时删除图以及crontab介绍

    执行 sudo crontab -e 0 3 1 * * /etc/letsencrypt/certbot-auto renew --renew-hook "sudo nginx -s re ...

  8. 1day漏洞反推技巧实战(3)

    代码审计必备技能,github代码对比,写一笔: 搜索某开源组建漏洞,搜索出来某个版本rce: 通过消息得出:存在漏洞版本:1.10.10 ,修复漏洞版本1.10.11 去github寻找apache ...

  9. Python语法进阶(1)- 进程与线程编程

    1.进程与多进程 1.1.什么是进程 进程就是程序执行的载体 什么叫多任务? 多任务就是操作系统可以同时运行多个任务.比如你一边在用浏览器学习,还一边在听音乐,,这就是多任务,至少同时有3个任务正在运 ...

  10. Solution -「洛谷 P5827」点双连通图计数

    \(\mathcal{Description}\)   link.   求有 \(n\) 个结点的点双连通图的个数,对 \(998244353\) 取模.   \(n\le10^5\). \(\mat ...