java基础学习二之异常

来源:互联网 发布:vb 中的structure 编辑:程序博客网 时间:2024/06/05 16:20

异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。


Java程序运行过程中所发生的异常事件可分为两类:

一、Error: 由jvm生成并抛出,程序中不作处理,如:JVM系统内部错误、资源耗尽等严重情况(无能为力)
二、Exception: 所有异常类的父类(能够处理的)
① RuntimeException:一些经常出现的错误,可catch可不catch;编程导致的错误,程序员的错误(逻辑上的错误)
比如:错误的类型转换;数组访问越界;空指针异常
②非运行时Exception
IO异常
其他。。。


理解:
一、如果出现RuntimeException,就一定是程序员的错误


可以成为异常的第二种分类:
一、未检查异常(unchecked)
包括:error的子类异常 或 RuntimeRxception
特点:不能由编译器检查;可以通过编程避免
二、检查异常(checked)
编译时检查,提高了程序的安全性

这里写图片描述

异常过程:

抛:自动抛出,手动抛出:找到类,声明对象,thow抛出对象抓:抓住之后有两种处理方式:以下:

异常处理:

一、在try-catch中:(处理)    getMessage():得到异常的详细信息字符串    printStackTrace():输出异常的跟踪栈信息,常用于调试    1.如果异常被处理了,那么其后面的代码继续执行·    2.那finnally又有何用??因为在catch中也可能出现错误,此时finally中的语句继续执行二、在thow中:一旦抛出后面的代码不执行(抛出)    ①抛出已知的异常:如方法定义中抛出的异常    ②代码中手动抛出异常    //抛出异常    public void Metho1(int i) throws Exception{        if(i == 0)            throw new Exception();    }** 

自定义异常:

继承Exception有两个构造方法:    无参的    有string参数的:字符串为描述异常的信息

方法重写中的异常类:

重写方法需要抛出原方法抛出*异常类型一致的类(相同的类或者子类)*或者不抛出异常

这里写图片描述

原创粉丝点击