package com.yhqtv.demo01Exception;
 /*
 * 一、异常体系结构
 *java.lang.Throwable
 *        ------java.lang.Error:一般不编写针对性的代码进行处理。
 *        ------java.lang.Exception:可以进行异常的处理
 *                  ----------编译时异常(checked)
 *                             -------IOException
 *                                 ----------FileNotFoundException
 *                             -------ClassNotFoundException
 *                  ----------运行时异常(unchecked)
 *                            --------NullPointerException
 *                            --------ArrayIndexOutOfBoundsException
 *                            --------ClassCastException
 *                            --------NumberFormatException
 *                            --------InputMismatchException
 *                            --------ArithmeticException
 *
 *面试题,常见的异常都有哪些?举例说明
 * */

 import org.junit.Test;

 import java.io.File;
 import java.io.FileInputStream;
 import java.util.Date;
 import java.util.Scanner;

 public class ExceptionTest {
     //##################以下是编译时异常########################
    @Test
    public void test7(){
       File file=new File("hello.txt");
       FileInputStream fis=new FileInputStream(file);

       int data=fis.read();
       while (data!=-1) {
          System.out.println((char) data);
          data =fis.read();

       }
       fis.close();

    }
    //##################以下是运行时异常########################
    //ArithmeticException
    @Test
    public void test6(){
       int a=10;
       int b=0;
       System.out.println(a/b);

    }
    //InputMismatchException
    @Test
    public void test5(){
 //      Scanner sc=new Scanner(System.in);
 //      int nextInt = sc.nextInt();
    }
    //NumberFormatException
    @Test
    public void test4(){
       String str="123";
       str="abc";
       int i = Integer.parseInt(str);
    }

    //ClassCastException
    @Test
    public void test3(){
       Object obj=new Date();
       String str=(String)obj;

    }

    //ArrayIndexOutOfBoundsException
    @Test
    public void test2(){
 //      int[] arr=new int[3];
 //      System.out.println(arr[6]);

       String str="abc";
       System.out.println(str.charAt(3));

    }

     //NullPointerException
    @Test
    public void test1(){
 //      int[] arr=null;
 //      System.out.println(arr[3]);

       String str="abc";
       str=null;
       System.out.println(str.charAt(3));
    }

 }

异常体系结构 throwable的更多相关文章

  1. 34 异常机制 异常体系结构 Java把异常当做对象来处理 并定义一个基类java.lang.Throwable作为所有异常的超类 Error Exception

    异常体系结构 概念 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类. 在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Erro ...

  2. java异常体系结构详解

    前几天在参加网易和360公司的在线考试的时候,都出了一道关于java中异常类的多项选择题.这几天翻看了相关书籍和网上一些资料,结合自己的理解与思考,将自己的一些收获记录如下: 先来看看java中异常的 ...

  3. 异常的概念和Java异常体系结构

    一. 异常的概念和Java异常体系结构     异常是程序运行过程中出现的错误.本文主要讲授的是Java语言的异常处理.Java语言的异常处理框架,     是Java语言健壮性的一个重要体现. Ja ...

  4. -1-6 java 异常简单介绍 java异常 异常体系 Throwable 分类 throws和throw 异常处理 自定义异常

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

  5. 异常、Throwable、finally、File类(十九)

    1.异常的概述和分类 * A:异常的概述 * 异常就是Java程序在运行过程中出现的错误.* B:异常的分类 * 通过API查看Throwable * Error * 服务器宕机,数据库崩溃等 * E ...

  6. Java异常体系结构学习笔记

    异常类的继承层次       1.Throwable是所有异常类的父类,他也继承自Object.所以Throwable是一个类,而不是接口. 2.Error这个分支的异常是由于Java虚拟机内部错误导 ...

  7. JAVA异常类Throwable解析

    在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类. Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) :二者都是  ...

  8. 异常类throwable

    一.Error 严重错误,系统内部的错误.无法通过处理,只能避免. 二.Exception 使用不当导致,是可以避免的. 异常分类: 1.编译时异常 编译时遇到的异常,若未处理,就会编译失败,必须进行 ...

  9. Java异常体系结构

    1)系统错误(system error)是由Java虚拟机抛出的,用Error类表示.Error类描述的是内部系统错误.这样的错误很少发生.如果发生,除了通知用户以及尽量稳妥地终止程序外,几乎什么都不 ...

随机推荐

  1. PyTorch专栏开篇

    目前研究人员正在使用的深度学习框架不尽相同,有 TensorFlow .PyTorch.Keras等.这些深度学习框架被应用于计算机视觉.语音识别.自然语言处理与生物信息学等领域,并获取了极好的效果. ...

  2. 线段树(区间合并)HDU - 1540

    题意:输入n,m,给定n个相互连通的村庄,有m个操作,D x,表示破坏x村庄使其与相邻的两个村庄不相通,R 表示修复上一个被破坏的村庄,与相邻的两个村庄联通.Q x表示与x相连的村庄有多少个. 思路: ...

  3. 在Ngnix中配置支持Websocket

    使用SignalR实现Websocket实时数据传输时,前后端各自实现编码后,无法将Websocket调试通过.沮丧之时,负责配置网络代理的同事说,网络访问这块使用了Ngnix代理设置,可能是造成We ...

  4. HIT软件构造课程3.2总结(Designing Specificaton)

    本节转向“方法/函数/操作”如何定义 上一节是名词 这一节是动词 1.编程语言中的函数和方法 方法 使用者不需要知道方法内部如何实现,这叫做“抽象”. 参数 参数类型是否匹配,在静态检查时完成. 返回 ...

  5. Mybatis中的# 与 $

    我们说MyBatis有两种注入参数的方式, - 一种是#{} - 另一种是${} 这两种从使用功能来看差距不大,那为什么会强推使用#? ${}使用的是拼接字符串,#{}使用的是占位符的方法,经过了处理 ...

  6. @Configuration和@Bean 配置类注入

    @Configuration和@Bean 1. 概述 @Configuration 注解标记在类上, 就像下面的配置文件. 我们将该类成为配置类. <?xml version="1.0 ...

  7. ELK数据批量导入

                                                                            数据批量导入 • 使用 _bulk 批量导入数据 – 批 ...

  8. spring的jdbc具名参数

    在jdbc的模板中使用具名参数: 1.就需要在之前的jdbc的例子中进行修改:需要在xml文件中重新配置一个bean.这是固定的格式.如下 对于使用具名参数而言.配置NamedParameterJdb ...

  9. vector数组的相关知识

    Vector 类实现了一个动态数组.和 ArrayList 很相似,但是两者是不同的: Vector 是同步访问的. Vector 包含了许多传统的方法,这些方法不属于集合框架. Vector 主要用 ...

  10. 模板继承和UImodul 和 UImethods

     模板继承和UImodul 和 UImethods 模板的继承 {% extends path %} path为templates下的相对路径 {% block block_name %}conten ...