java学习基础知识六

一、常见异常:
1、RuntimeException
  →错误的类型转换
  →数组下标越界
  →空指针访问
2、IOExeption
  →从一个不存在的文件中读取数据
  →越过文件结尾继续读取EOFException
  →连接一个不存在的URL
3、java异常类层次:

  

二、异常处理机制(捕获和抛出)
1、java采用异常处理机制,将异常处理的程序代码集中在一起,与正常的程序代码分开,使得程序简洁并易于维护
2、捕获异常的有关信息:
  与其他对象一样,可以访问一个异常对象的成员变量或调用它的方法。
  →getMessage()方法,用来得到有关异常事件的信息
  →printStackTrace()用来跟踪异常事件发生时执行堆栈的内容

三、声明抛出异常
1、声明抛出异常是java中处理异常的第二种方式
  →如果一个方法(中的语句执行时)可能生成某种异常,但并不确定如何处理这种异常,
  则此方法显式地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理
  →在方法声明中用throws子句可以声明抛出异常的列表,
  throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类
2、声明抛出异常举例:

public void readFile(String file)throws FileNotFoundException{
    //读文件的操作可能产生FileNotFoundException类型的异常
    FileInputStream fis=new FileInputStream(file);
}

3、重写方法不能抛出比被重写方法范围更大的异常类型


四、人工抛出异常
1、java异常类对象除在程序执行过程中出现异常时由系统自动生成并抛出,也可以根据需要人工创建并抛出
  →首先要生成异常类对象,然后通过throw语句实现抛出操作(提交给java允许环境)
    IOException e=new IOException();
    throw e;
2、可以抛出的异常必须是Throwable或其子类的实例。下面的语句在编译时将会产生语法错误
    throw new String("want to throw");

五、创建用户自定义异常类:
1、用户自定义类MyException,用于描述数据取值范围错误信息。用户自己的异常类必须继承现有的异常类。
  

class MyException extends Exception{
    private int idNumber;
    public MyException(String message,int id){
    super(message);    //Exception父类中的方法
    this.idNumber=id;
}
    public int getId(){
        return idNumber;
    }
}

 


posted @ 2021-01-26 22:07  MeiTofu  阅读(46)  评论(0编辑  收藏  举报