Java中的异常:

1. Throwable是所有异常的根,java.lang.Throwable

Throwable包含了错误(Error)和异常(Exception),Exception又包含了运行时异常。

Error:java.lang.Error

Exception:java.lang.Exception

2. Exception

一般分为Checked异常和Runtime异常,所有RuntimeException类及其子类的实例被称为Runtime异常,不属于该范畴的异常则被称为CheckedException

(1)Checked异常

只有java语言提供了checked异常,Java认为Checked异常都是可以被处理的异常,这些异常从程序的角度来说是必须要处理的异常,否则编译不通过。符合java的设计思想:没有完善处理错误的代码就没有机会被执行。对Checked异常的处理方法两种:

1)当前方法指导如何处理该异常,则用try...catch快来处理该异常。

2)当前方法不知道如何处理,则在定义该方法时生命抛出异常。

比较常见的Checked异常:

java.lang.ClassNotFoundException

java.lang.NoSuchMethodException

(2)RuntimeException

Runtime如除数是0和数组下标越界等,其产生频繁,处理麻烦,若显示申明或者捕获将会对程序的可读性和运行效率影响很大。所有由系统自动检测并它们交给缺省的异常处理程序。当然如果你有处理要求也可以显示捕获它们。

比较常见的RuntimeException类的子类有:

java.lang.ArithmeticException

java.lang.ArrayStoreException

java.lang.IndexOutOfBoundsException

java.lang.NullPointerException

3. Error

当程序发生不可控的错误时,通常做法是通知用户并终止程序的执行。与异常不同的是Error及其子类的对象不应该被抛出。Error是Throwable子类,代表编译时间和系统错误,用于指示合理的应用,程序不应该试图捕获的严重问题。Error由Java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等。程序对其不做处理。

java中的异常类的更多相关文章

  1. JAVA中常见异常类

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...

  2. 深入探讨Java中的异常与错误处理

    Java中的异常处理机制已经比较成熟,我们的Java程序到处充满了异常的可能,如果对这些异常不做预先的处理,那么将来程序崩溃就无从调试,很难找到异常所在的位置.本文将探讨一下Java中异常与错误的处理 ...

  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基础(43):Java中的Object类与其方法(转)

    Object类 java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入. Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类. O ...

  6. Java中的异常详解

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

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

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

  8. Java中的Throable类是不是受查异常?

    Q: Throable是不是受查异常? A: 是 在Java规范中,对非受查异常和受查异常的定义是这样的: The unchecked exception classes are the run-ti ...

  9. Java中的异常简介

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

随机推荐

  1. CentOS命令登录MySQL时,报错ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)错误解决方法

    1.停用mysql服务:# /etc/rc.d/init.d/mysqld stop 2.输入命令:# mysqld_safe --user=mysql --skip-grant-tables --s ...

  2. vscode-Live Server的使用心得

    一,安装Live Server插件(不详细说明了) 二,开启Server(服务) 有四种方式: 在窗口的最底部有Go Live可以点击,一旦点击,就会自动在浏览器中打开HTML文件 在HTML文件中右 ...

  3. Redis 简介与命令操作

    redis 是 key-value 的数据,所以每个数据都是一个键值对,键的类型是字符串: 值的类型分为五种:string.hash.list.set(集合).zset(有序集合). 数据操作的全部命 ...

  4. Mysql_存储过程

    1.navicat新建存储过程 选择 过程 增加输入输出参数(若是无参,直接点击完成) 完成后代码如下: CREATE DEFINER = CURRENT_USER PROCEDURE `kxy_pr ...

  5. JAVA使用HttpClient时报错:Algorithm constraints check failed on signature algorithm: MD5withRSA

    今天使用httpClient.executeMethod时抛出异常:java.security.cert.CertPathValidatorException: Algorithm constrain ...

  6. Linux查看日志工具

    ⒈journalctl journalctl是Centos7才有的工具用于systemd统一管理所有unit的启动日志,只用一个journalctl命令就可以查看所有的日志(包括内核日志和应用日志), ...

  7. 变分自编码器(Variational Autoencoder, VAE)通俗教程

    原文地址:http://www.dengfanxin.cn/?p=334 1. 神秘变量与数据集 现在有一个数据集DX(dataset, 也可以叫datapoints),每个数据也称为数据点.我们假定 ...

  8. yii2修改默认控制器

    ---------------------------------- 默认的控制器为site,修改文件 vendor\yiisoft\yii2\web\Application.php public $ ...

  9. dml并行

    Enabling Parallel DMLA DML statement can be parallelized only if you have explicitly enabled paralle ...

  10. mysql 经纬度求距离

    SELECT id,lng,lat,ROUND(6378.138*2*ASIN(SQRT(POW(SIN((lat1*PI()/180-lat*PI()/180)/2),2)+COS(lat1*PI( ...