博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net转Java自学之路—基础巩固篇十(异常)
阅读量:6456 次
发布时间:2019-06-23

本文共 1185 字,大约阅读时间需要 3 分钟。

异常Exception

  程序运行时出现的不正常情况。

异常问题分为俩大类:

  1、可以处理的问题

    一般用Exception(异常)来进行描述,这个异常可以有针对性的代码处理。

  2、重大错误问题

    用Error进行描述,这种异常发生后,一般不编写针对性的代码来进行处理,而是对程序进行修改。

声明异常

  throws Exception :在功能上标识异常。

  若该功能用thrwos Exception来标识异常,那么调用者必须处理该异常信息。

  但是该功能声明的异常是一个特殊的异常子类时,调用者可以不对异常进行任何处理。这个异常是RuntimeException(运行异常)

两种处理异常的方式

  1、try { } catch { }

  2、同样抛出异常throws Exception

异常分为俩种:

  1、编译被检测异常:包括除去Exception子类RuntimeException以外的所有异常。

  2、编译时不被检测异常:RuntimeException以及子类。

自定义异常

  将特有的问题进行描述,并封装成对象。

  步骤:

    定义一个类对异常进行描述,该类必须继承异常类(Exception)或运行异常(RuntimeException)。

  根本原因:异常体系和其它对象的不同之处在于异常体系都具有可抛性。异常的类和对象都可以被俩个关键字(throws、thorw)所操作,并且只有异常体系具备这个特点。

throws和throw的区别

  1、throws作用与函数上,用于该功能容易出现的问题。抛出的异常要被调用者进行处理。

        throw 作用在函数内,用于抛出指定的异常对象。

  2、throws后跟的时异常类,可以有多个,中间用逗号隔开。

        throw 后跟的时异常对象。

  只有异常体系的类和对象才可以被这俩个关键字所操作。

finally块

  主要用于关闭资源的代码。无论何时都执行(除去System.Exit(0)退出JVM的情况不执行)。

异常处理

  1、当子类覆盖父类时,若父类的函数抛出了异常,那么子类覆盖父类要么不抛异常,要么抛出该异常或该异常的子类。

  2、若父类抛出了对个异常,子类覆盖父类时,只能抛出这些异常的子集。

  简单来说,子类只能抛出父类的异常或异常的子类,子类不可以抛出父类没有的异常。

  注:若被覆盖的函数没有异常抛出,那么子类的函数绝对不能有异常抛出。若子类中有异常发生,那么子类只能用try { } catch { }

    当try对象对个catch时,若catch的类型包含有继承关系时,那么父类异常的catch必须放在最下方。

 

转载于:https://www.cnblogs.com/zltao/p/9239441.html

你可能感兴趣的文章
Linux Shell简介
查看>>
Neo4j安装&入门&一些优缺点(转)
查看>>
python基础初识介绍以及安装
查看>>
cocos2d-x调度器原理
查看>>
spring boot缓存excel临时文件后再操作
查看>>
已经上架的app在AppStore上搜不到的解决办法
查看>>
Hadoop日志以及日志的格式和命名组成
查看>>
Bootstrap3基础 栅格系统 col-lg/md/sm/xs-* 简单示例
查看>>
jsp+servlet+javaBean实现用户留言
查看>>
CSS盒模型
查看>>
解决网站使用sqlite时并发问题的一个经验
查看>>
operamasks—omBorderLayout布局
查看>>
代理模式
查看>>
彻底搞定C指针---指向指针的指针(转)
查看>>
Django多进程日志文件问题
查看>>
easyUI combobox combotree 模糊查询,带上下键选择功能,待完善。。。。
查看>>
RHEL6解决无法使用YUM源问题
查看>>
百度地址解析和逆地址解析
查看>>
【Dig工具】
查看>>
Jobs
查看>>