java中的exception关系图如图下图所示:

Throwable 是Exception(异常)和Error(错误)的超类!!

两者的区别:

Exception表示程序需要捕捉和处理的的异常;

Error表示系统级别的错误和程序无需处理的。

我们日常程序中所遇到的是Exception,Exception分为两种:

第一种是JDK标准自带的异常,当程序违反了jdk的语法规则或者非法使用内存等,程序就会抛出异常,常见的jdk异常有:

java.lang.nullpointerexception,

java.lang.classnotfoundexception

java.lang.arrayindexoutofboundsexception

java.lang.filenotfoundexception

等等。。。

第二种是程序员自己定义的异常,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。 。

java 中ERROR和EXCEPTION的区别

error继承父类java.lang.Error,而exception继承java.lang.Exception.EXCEPTION和ERROR都继承java.lang.Throwable,可以说,error和exception叔辈兄弟的关系

jdk中对ERROR和EXCEPTION的解释

java.lang.Error: An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions. ERROR用于标记严重错误。合理的应用程序不应该去try/catch这种错误!!!

java.lang.Exception: The class Exception and its subclasses are a form of Throwable that indicates conditions that a reasonable application might want to catch. 即Exception用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。

最后上传一个exception的demo:

nlo, Consolas, 'Courier New', monospace; color: rgb(51, 51, 51); border-radius: 4px; margin-top: 0px; margin-bottom: 1.5em; line-height: 1.5em; word-break: break-all; word-wrap: break-word; white-space: pre-wrap; border: 1px solid rgba(0, 0, 0, 0.14902); overflow-y: auto; background-color: rgb(246, 246, 246);">

package com.panther.dong.exception;

/**

* Created by panther on 15-8-2.

*/

class MyException extends Exception {

public void f() {

System.out.println("this is my exception");

}

}

public class DemoException {

private int i = 0;

private int j;

DemoException(int x) throws MyException {

f2();

j = x / i;

}

public void f2() throws MyException {

System.out.println("this is My first Exception");

throw new MyException();

}

public static void main(String[] args) {

System.out.println("-----------Exception-------------");

try {

new DemoException(9);

} catch (MyException e) {

e.f();

} catch (Exception e) {

e.printStackTrace();

} finally {

System.out.println("finally is first Exception");

}

System.out.println("---------------------------------");

try {

throw new MyException();

} catch (MyException e) {

e.f();

} finally {

System.out.println("finally is second Exception");

}

System.out.println("--------------程序结束-------------");

}

}

运行结果:

cal-align: middle; border: 0px none; text-align: center; margin: 0px auto 10px; display: block;" />

java异常库,java中的异常详解相关推荐

  1. java 自定义正则表达式_java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * ...

  2. java jtable组件_java中jtable组件详解实例

    java中jtable组件详解实例 java 表格控件 JTable 常用操作详解 JTable 是 Swing 编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处.一 ...

  3. Java编程之反射中的注解详解

    "注解"这个词,可谓是在Java编程中出镜率比较高,而且也是一个老生常谈的话题.我们之前在聊Spring相关的东西时,注解是无处不在,之前我们简单的聊过一些"注解&quo ...

  4. java static int a_java中static作用详解

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  5. java abstract 变量_Java中abstract关键字详解

    abstract只能修饰类(class) 和 方法.而不能修饰成员变量.这是由于抽象的概念确定的.只有类和方法可以抽象出来,而成员变量不需要抽象. abstract修饰类 abstract之所以出现, ...

  6. Java中常见RuntimeException与其他异常表及Exception逻辑关系详解

    Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...

  7. Java中JDBC连接数据库详解

    今天动力节点java学院小编分享的是JDBC连接数据库的相关知识,希望通过看过此文,各位小伙伴对DBC连接数据库有所了解,下面就跟随小编一起来看看JDBC连接数据库的知识吧. 一.JDBC连接数据库概 ...

  8. java generic new_java中generic实例详解

    一介绍: 在JavaSE1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的"任意化","任意化"带来的缺点是要做显式的强制类型转换,而这种 ...

  9. Java虚拟机中类加载机制详解

    Java虚拟机中类加载机制详解 1,什么是java类加载机制 **首先在java中,是通过编译来生成.class文件(可能在本地,或者网页下载),java的类加载机制就是 将这些.class文件加载到 ...

  10. java的static类_java中staticclass静态类详解

    一般情况下是不可以用static修饰类的.如果一定要用static修饰类的话,通常static修饰的是匿名内部类. 在一个类中创建另外一个类,叫做成员内部类.这个成员内部类可以静态的(利用static ...

最新文章

  1. P4779 【模板】单源最短路径(标准版)(dijkstra模板)
  2. IDEA 及 Gradle 使用总结
  3. 信息安全管理体系 ISMS
  4. 引起SQL数据库超时的问题分析及解决办法
  5. 最简单的基于FFMPEG的封装格式转换器(无编解码)
  6. 【杂谈】数学,计算机视觉,图形图像处理
  7. Redis数据库(二)——数据类型
  8. java enum分析
  9. java与java ee_Java EE 8怎么了?
  10. 网关是什么?有什么作用?
  11. Glide4.0源码全解析(二),load()背后的故事
  12. 2012服务器系统密钥,WINDOWS SERVER 2012标准版密钥
  13. Android 7.0 抓包
  14. 计算机竞赛游戏探险岛,冒险岛2主线任务攻略_第三章主线任务图文攻略
  15. 全国高校计算机能力挑战赛真题(一)
  16. 吃鸡什么耳机听声辨位比较好?适合苹果手机的耳机推荐
  17. 汇编语言快速回顾(以x86_64为例)
  18. 研习社实战营--朱老师、猫老师,手把手带你入场打猎!
  19. 在MOSS中开发和部署Infopath
  20. Nifi博客之一:概述贴

热门文章

  1. 再来一顿贺岁宴 | 从K-Means到Capsule
  2. 自主可控芯片多路服务器,中国国防领域最高水准自主可控多单元服务器亮相
  3. java的jbutton啥意思,Jbutton和Jpanel和JFrame之间的区别?
  4. nginx负载均衡的五种方式
  5. spring boot+mybatis执行controller中拼接后的SQL
  6. LeetCode 8 字符串转换整数 (atoi)
  7. 最长不下降子序列问题
  8. 易混淆的c++知识点
  9. 操作系统 第五章【虚拟存储器】【MOOC答案】
  10. Redis-学习笔记02【Redis命令操作】