异常:是在运行时期发生的不正常情况。  

  • 异常类:在java中用类的形式对不正常情况进行了描述和封装对象,描述不正常的情况的类。
  • 异常就是java通过面向对象的思想将问题封装成了对象.用异常类对其进行描述。
  • 异常体系:不同的问题用不同的类进行具体的描述。 比如角标越界。空指针等等。问题很多,意味着描述的类也很多,将其共性进行向上抽取
  • 不正常情况就分为了两大类。
  • Throwable:无论是error,还是异常,问题,问题发生就应该可以抛出,让调用者知道并处理。
  • throws throw ,凡是可以被这两个关键字所操作的类和对象都具备可抛性.
  1. 一般不可处理的。Error是由jvm抛出的严重性的问题
  2. 可以处理的。Exception

  自定义异常:自定义的问题描述

异常的分类:

1,编译时被检测异常:只要是Exception和其子类都是,除了特殊子类RuntimeException体系。
  这种问题一旦出现,希望在编译时就进行检测,让这种问题有对应的处理方式。
  这样的问题都可以针对性的处理。

2,编译时不检测异常(运行时异常):就是Exception中的RuntimeException和其子类。
  这种问题的发生,无法让功能继续,运算无法进行,更多是因为调用者的原因导致的而或者引发了内部状态的改变导致的。
  那么这种问题一般不处理,直接编译通过,在运行时,让调用者调用时的程序强制停止,让调用者对代码进行修正。
 
所以自定义异常时,要么继承Exception。要么继承RuntimeException。
throws 和throw的区别。
1,throws使用在函数上。
   throw使用在函数内。
2,throws抛出的是异常类,可以抛出多个,用逗号隔开。
   throw抛出的是异常对象。

异常处理的捕捉形式:

这是可以对异常进行针对性处理的方式。

具体格式是:
try
{
 //需要被检测异常的代码。
}
catch(异常类 变量)//该变量用于接收发生的异常对象
{
 //处理异常的代码。
}
finally
{
 //一定会被执行的代码。
}

异常的注意事项:

1,子类在覆盖父类方法时,父类的方法如果抛出了异常,
那么子类的方法只能抛出父类的异常或者该异常的子类。
2,如果父类抛出多个异常,那么子类只能抛出父类异常的子集。
 
简单说:子类覆盖父类只能抛出父类的异常或者子类或者子集。
注意:如果父类的方法没有抛出异常,那么子类覆盖时绝对不能抛,就只能try .

Java笔记(day11)的更多相关文章

  1. Effective Java笔记一 创建和销毁对象

    Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...

  2. java笔记00-目录

    --2013年7月26日17:49:59 学习java已久,趁最近有空,写一个总结: java笔记01-反射:

  3. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

  4. 转 Java笔记:Java内存模型

    Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...

  5. servlet(6) - servlet总结 - 小易Java笔记

    垂阅前必看: 这都是我总结的我觉得是学习servlet应该掌握的,我在学习期间也做了一个博客项目来让所学的知识得以巩固.下面就是博客项目链接.前面的servlet相关的笔记总汇,还有就是我把觉得在学习 ...

  6. Java笔记 —— 继承

    Java笔记 -- 继承 h2{ color: #4ABCDE; } a{ text-decoration: none!important; } a:hover{ color: red !import ...

  7. Java笔记 —— 方法重载和方法重写

    Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red ...

  8. Java笔记 —— 初始化

    Java笔记 -- 初始化 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red !impo ...

  9. Java笔记 —— this 关键字

    Java笔记 -- this 关键字 h2{ color: #4ABCDE; } a{ color: blue; text-decoration: none; } a:hover{ color: re ...

  10. Java 笔记 —— java 和 javac

    Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...

随机推荐

  1. linux命令----查看磁盘空间

    今天用“web发布平台”发布测试的服务,两个节点中发现有一个节点没有发布成功,压测TPS始终上不去,排查后发现只有一个节点在打日志,另一个节点的服务进程都没有在运行,由此断定应该是没有发布成功,有点坑 ...

  2. ASP.Net Core MVC 发生二次请求

    Bug回忆录 昨天搭建新框架的时候,遇到一个很奇怪的“Bug”,每次请求都会触发两次Aciton,举例子吧,Demo: _Layout.cshtml <!DOCTYPE html> < ...

  3. 让你分分钟理解 JavaScript 闭包

    闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是 ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它.因此,本文不会对闭包的概 ...

  4. 理解线程池到走进dubbo源码

    引言 合理利用线程池能够带来三个好处. ​ 第一:降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗. ​ 第二:提高响应速度.当任务到达时,任务可以不需要等到线程创建就能立即执行. ...

  5. 京东云罗玉杰:OpenResty 在直播场景中的应用

    2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,京东云技术专家罗玉杰在活动上做了< OpenResty ...

  6. Oracle 经典面试题

    第一题 create table test( id ) primary key, type ) , t_id ), value ) ); ,,,'张三'); ,,,'男'); ,,,'); ,,,'刘 ...

  7. JavaSE:数据类型之间的转换(附常见面试题)

    数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...

  8. js防抖和节流

    今天在网上看到的,里面的内容非常多.说下我自己的理解. 所谓的防抖就是利用延时器来使你的最后一次操作执行.而节流是利用时间差的办法,每一段时间执行一次.下面是我的代码: 这段代码是右侧的小滑块跟随页面 ...

  9. 【原】Java学习笔记034 - 网络

    package cn.temptation; import java.net.InetAddress; public class Sample01 { public static void main( ...

  10. netdom remove 错误:netdom remove

    自己用错了命令,直接将加入域的计算机使用dsrm删除了,本来应该使用netdom remove的,结果在域控制器上使用netdom remove错误,在客户端上登录时一样提示:netdom remov ...