Java--异常处理

主要内容:异常的定义与分类、try-catch-finally语句、抛出异常的方式、自定义异常类的设计

一、异常的定义与分类

定义:异常(exception)是指在程序运行中由代码产生的一种错误。有些错误符合异常处理机制,该机制在处理过程中把程序运行时错误的管理带到了面向对象的世界中。

错误按照不同性质分为:语法错、语义错、逻辑错

语法错:违反程序设计语言规则而产生的错误,又称编译错误,即在编译时就能发现的语法错误。

语义错:语法上正确但语义上有错。例如:数据格式错、除数为0、给变量值超出范围等。

逻辑错:程序编译通过,也可运行,但是运行结果与预期结果不符。

程序运行时的错误按照错误严重程度分为错误异常。

错误是指程序在执行过程中遇到的硬件或操作系统的错误,如内存溢出、虚拟机错等。

异常是指在硬件和操作系统正常时,程序遇到的运行错。如除数为0、数组下标越界、网络连接中断等。

二、try-catch-finally语句

                                                       异常的产生及处理(以除数为0为例)

                                                                 多异常处理

        多异常处理时通过在一个try块后边定义多个catch来实现的,每个catch都接收和处理特定的异常对象。当try抛出异常时,程序流程首先转向第一个catch块,并审查当前异常对象是否被该catch块接收,若匹配,则跳转到该catch语句块中,其他的catch块将被忽略;若不匹配,则系统自动跳转到第2个catch块中进行匹配,以此类推,直到找到一个可以接收的catch语句块,即完成流程跳转。若try语句块中的语句无异常,所有的catch块都会被忽略而不予执行。

三、抛出异常的方式

        根据异常的类型不同,抛出异常的方法也不同:1.系统自动抛出的异常2.指定方法抛出的异常。所有系统定义的运行时异常可以由系统自动抛出。指定方法抛出异常需要使用关键字throw或throws来明确指定在方法内抛出异常,例如用户自定义的异常不可能依靠系统自动抛出,这种情况就必须借助于关键字来定义何种情况算是产生了异常并抛出。

        抛出异常的方法:在方法体内使用throw语句抛出异常对象,具体格式如下:

                throw  由异常类所产生的对象

                         方法二

              【修饰符】返回值类型  方法名(【参数列表】)throws 异常列表类

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值