什么是异常?

  异常是指程序运行中出现的各种例外情况,如文件找不到、网络连接失败、传参错误。。。异常发生在程序运行期间,它影响了正常的程序执行流程。

异常体系结构:

  在java中,异常是被当作对象来处理的,并定义一个基类java.lang.Throwable来作为所有异常的超类。

  在Java API中已经定义了许多异常类,这些异常分为两大类。错误Error和异常Exception。具体可参看下图:

Error

  Error是由Java虚拟机生成并抛出,大多数Error与代码编写者所执行的操作无关。

Exception

  在Exception分支中,有一个重要的子类:RuntimeException(运行时异常),常见的有如下几种:

  • 数组下标越界:ArrayIndexOutOfBoundsException
  • 空指针异常:NullPointException
  • 算术异常:ArithmeticException
  • 找不到类异常:ClassNotFoundException
  • 。。。

  这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。

Error和Exception的区别:

  Error:通常是灾难性的致命错误,是程序无法控制和处理的。当出现这些异常时,JVM一般会选择终止线程;

  Exception:通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。

异常处理机制

  • 抛出异常

    • 在方法上处理,直接throws;
    • 在方法中throw异常;
    • 注意:抛出去的异常,一定要在某个地方捕获。
  • 捕获异常
    • 用try...catch代码块捕获异常;

Java基础__03.异常的更多相关文章

  1. java基础之异常 · fossi

    在开发中,异常处理是一个不可绕开的话题,我们对于异常的处理已经非常熟练了,对于异常本身的概念.用法等不再赘述了,直接结合面试问题来加深对异常的理解吧. Throwable 可以用来表示任何可以作为异常 ...

  2. 【java基础之异常】死了都要try,不淋漓尽致地catch我不痛快!

    目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常thro ...

  3. JAVA基础知识|异常

    一.基础知识 处理异常,java提供了一个优秀的解决方案:异常处理机制. java把异常当作对象来处理,所有的异常都是由Throwable继承而来,但在下一层立即分解为两个分支:Error和Excep ...

  4. 【java基础之异常】死了都要try

    目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常thro ...

  5. Java基础笔记-异常

    Java中的异常机制: Throwable类是 Java 语言中所有错误或异常的超类.主要包括两个子类: Error和Exception. 一般中要处理的异常是Exception. Java中最常见的 ...

  6. Java基础之异常

    1.异常的概念 异常:程序在运行时出现的不正常情况,也可以说是出现的问题: Java中的异常:出现的不正常的问题也是一类事物,这类事物有一些共性的东西,比如有名称,有产生的原因等,将这些共性的部分抽取 ...

  7. 黑马程序员----java基础:异常

    dff ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 经常写程序的人对try...catch...finally语句肯定是不陌生的了.但是好多 ...

  8. java基础(21):异常

    1. 异常 什么是异常?Java代码在运行时期发生的问题就是异常. 在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置.原因等). 1.1 ...

  9. java基础之异常。

    异常: (1)异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象.其实就是Java对不正常情况进行描述后 ...

  10. 第一阶段:Java基础之异常和处理

    文章目录 Java中异常处理机制的简单和应用 一.异常的体系结构&分类 二.问题扩展 三.应用场景 Java中异常处理机制的简单和应用 异常也是一种对象,Java中有很多异常类,并且定义了基类 ...

随机推荐

  1. 基于GLFW的PyOpenGL的使用

    1. GLFW概述 OpenGL只是一种规范,不仅语言无关,而且平台无关.规范只字未提获得和管理OpenGL上下文相关的内容,而是将这些作为细节交给底层的窗口系统.出于同样的原因,OpenGL纯粹专注 ...

  2. Python批量读取HDF多波段栅格数据并绘制像元直方图

      本文介绍基于Python语言gdal模块,实现多波段HDF栅格图像文件的读取.处理与像元值可视化(直方图绘制)等操作.   另外,基于gdal等模块读取.tif格式栅格图层文件的方法可以查看Pyt ...

  3. 计网学习笔记二 Link Layer Service

    在上一周的计网学习了network和Internet的总论.在这一周开始的未来几讲将集中在链路层link layer,并且会有相应的计网lab完成.在这一讲中,我们主要关注链路层提供的服务. 课程资料 ...

  4. 百度脑图kityminder

    KityMinder Editor 是一款强大.简洁.体验优秀的脑图编辑工具,适合用于编辑树/图/网等结构的数据. 编辑器由百度 FEX 基于 kityminder-core 搭建,并且在百度脑图中使 ...

  5. USACO2023Feb游记

    由于学校要求,过来打 USACO. 由于上次已经打到白金了,所以继续. 然后还是 AK 了. 感觉题意很迷惑,所以都翻译一下. Hungry Cow Bessie 很饿,每天晚饭如果有干草就会吃 \( ...

  6. 云原生数据库TDSQL-C 容灾的实践和探索

    云原生数据库TDSQL-C作为腾讯云架构平台部核心数据库产品之一,致力于为云上ToB用户和公司自研业务提供集高性能.低成本.大存储.低延迟.秒级扩缩容.极速回档.Serverless化七大特性于一体的 ...

  7. nodejs 后台运行 forever

    一.安装nodejs //安装必要的make以及gcc,gcc-c++编译器 yum -y install make gcc gcc-c++ //获取源码 wget http://nodejs.org ...

  8. DRF过滤Filtering

    过滤Filtering 对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-filter扩展来增强支持. pip install django-filter 在配置文件中增加过滤后端的 ...

  9. vue框架4

    购物车案例 v-model进阶 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  10. csp201503-1(矩阵逆时针九十度旋转)

    //矩阵变换的题,要找出两个矩阵各元素横纵坐标之间的关系 #include<bits/stdc++.h> using namespace std; int main() { int a[1 ...