1 package p1.exception;
2
3
4 /*
5 * 异常:是在运行时期发生的不正常情况。
6 *
7 *
8 * 在java中用类的形式对不正常情况进行了描述和封装对象。
9 *
10 * 描述不正常的情况的类,就称为异常类。
11 *
12 * 以前正常流程代码和问题处理代码相结合,
13 * 现在将正常流程代码和问题处理代码分离。提高阅读性
14 *
15 * 其实异常就是java通过面向对象的思想将问题封装成了对象
16 *
17 * 用异常类对其进行描述。
18 * 不同的问题用不同的类进行具体的描述。比如角标越界。空指针等等
19 *
20 * 问题很多,意味着描述的类也很多。
21 * 将其共性向上抽取,形成了异常体系。
22 *
23 * 最终问题(不正常情况)就分成了两大类。
24 * Throwable:无论是error,还是异常,问题发生就应该可以抛出,让调用者知道并处理
25 * //该体系的特点就在于Throwable及其所有的子类都具有可抛性。
26 * 可抛性到底指的是什么呢?怎么体现可抛性呢?
27 * 其实是通过两个关键字来体现的。
28 * throws throw,凡是可以被这两个关键字所操作的类和对象都具备可抛性。
29 * |--1,一般不可处理的。Error类
30 * 特点:是由jvm抛出的严重性的问题。
31 * 这种问题发生一般不针对性处理。直接修改程序
32 * |--2,可以处理的。Exception类
33 *
34 * 该体系的特点:
35 * 子类的后缀名都是用其父类名作为后缀,阅读性很强。
36 *
37 *
38 *
39 *
40 */
41 public class ExceptionDemo {
42
43 public static void main(String[] args) {
44 // TODO Auto-generated method stub
45 int[] arr = new int[1024*1024*800];//java.lang.OutOfMemoryError: Java heap space
46 arr = null;
47 System.out.println(arr[3]);
48 sleep(-5);
49 }
50
51 /*public static void sleep1(int time) {
52 if (time<0) {
53 new FuTime();//就代表着时间为负的情况,这个对象中会包含着问题的名称,位置等信息
54 // 处理办法
55 // 处理办法
56 // 处理办法
57 }
58 if (time>100000) {
59 new BigTime();
60 // 处理办法
61 // 处理办法
62 // 处理办法
63 }
64 System.out.println("我睡。。。"+time);
65 }*/
66
67 public static void sleep(int time) {
68 if (time<0) {
69 // /*抛出*/ new FuTime();//就代表着时间为负的情况,这个对象中会包含着问题的名称,位置等信息
70
71 }
72 if (time>100000) {
73 // /*抛出*/ new BigTime();//对象要具有可抛性才能抛出
74
75 }
76 System.out.println("我睡。。。"+time);
77 }
78 }
79 /*
80 * class FuTime{
81 *
82 * }
83 * class BigTime{
84 *
85 * }
86 */

ExceptionDemo

java-异常概述及体系的更多相关文章

  1. Java异常体系概述

    Java的异常体系结构 Java异常体系的根类是 Throwable, 所以当写在java代码中写throw抛出异常时,后面跟的对象必然是Throwable或其子类的对象. 其中Exception异常 ...

  2. Java基础系列5:深入理解Java异常体系

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 前言: Java的基 ...

  3. Java——深入理解Java异常体系

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 前言: Java的基 ...

  4. Java 异常(一) 异常概述及其架构

    Java 异常(一) 异常概述及其架构 一.异常概述 (一).概述 Java异常是Java提供的一种识别及响应错误的一致性机制.异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常 ...

  5. Java 异常体系(美团面试)

    Java把异常作为一种类,当做对象来处理.所有异常类的基类是Throwable类,两大子类分别是Error和Exception. 系统错误由Java虚拟机抛出,用Error类表示.Error类描述的是 ...

  6. java(异常体系及权限修饰符)

    java异常体系 异常的体系: 异常体系: --------| Throwable 所有错误或者异常的父类 --------------| Error(错误) --------------| Exce ...

  7. java 异常体系详细介绍

    一.异常概述与异常体系结构 异常:在Java语言中,将程序执行中发生的不正常情况称为"异常".(开发过程中的语法错误和逻辑错误不是异常). Java把异常当作对象来处理,并定义一个 ...

  8. Java异常体系及分类

    上图是基本的java异常体系结构. 主要分为2大类:Error和Exception 1.Error:描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象,一般是由虚拟 ...

  9. Java异常体系简析

    最近在阅读<Java编程思想>的时候看到了书中对异常的描述,结合自己阅读源码经历,谈谈自己对异常的理解.首先记住下面两句话: 除非你能解决这个异常,否则不要捕获它,如果打算记录错误消息,那 ...

  10. Java集合概述、Set集合(HashSet类、LinkedHashSet类、TreeSet类、EnumSet类)

    Java集合概述.Set集合(HashSet类.LinkedHashSet类.TreeSet类.EnumSet类) 1.Java集合概述1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指 ...

随机推荐

  1. 如何下载哔哩哔哩、爱奇艺、腾讯视频、优酷、斗鱼、TED、YouTube网页视频

    这里使用you-get工具进行下载 github地址:https://github.com/soimort/you-get/ github项目文档:https://github.com/soimort ...

  2. JAVA根据URL生成二维码图片、根据路径生成二维码图片

    引入jar包 zxing-2.3.0.jar.IKAnalyzer2012_u6.jar 下载地址:https://yvioo.lanzous.com/b00nlbp6h                ...

  3. 【LeetCode】666. Path Sum IV 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS 日期 题目地址:https://leetcod ...

  4. 【LeetCode】994. Rotting Oranges 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BFS 日期 题目地址:https://leetco ...

  5. Java Web程序设计笔记 • 【目录】

    章节 内容 实践练习 Java Web程序设计作业目录(作业笔记) 第1章 Java Web程序设计笔记 • [第1章 Web应用程序] 第2章 Java Web程序设计笔记 • [第2章 JSP基础 ...

  6. AWS 15年(2):云原生兴起

    AWS创立云计算15年来,没有一个行业不跟云计算相关,没有任何一个颠覆性创新缺少云计算的参与,云已经是不可逆的滚滚洪流. AWS这15年,是云原生服务从无到有再到基本成熟的15年,是云原生应用兴起的1 ...

  7. Log4j2进阶使用(按大小时间备份日志)

    1.进阶说明 本文介绍Log4j2进阶使用, 基本使用请参考Log4j2基本使用入门. 本文基于上面的基本使用入门, 主要介绍按照日志大小和时间备份日志, 并且限制备份日志的个数, 以及删除过期的备份 ...

  8. .net core使用rabbitmq消息队列 (二)

    之前有写过.net core集成使用rabbitmq的博文,见.net core使用rabbitmq消息队列,但是里面的使用很简单,而且还有几个bug,想改下,但是后来想了想,还是算了,之前使用的是. ...

  9. Kafka基础教程(一):认识Kafka

    Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,吞吐速率非常快,可以作为Hadoop的日志收集.Kafka是一个完全的分布式系统,这一点依赖于Zookeeper ...

  10. Count Sequences

    \(考虑问题的转换,即把用n个球,分为r-l+2个部分,其中第1部分表示该区域的球值为l,第二部分表示该区域的球值为l+1\) \(......第r-l+2部分为不选该区域的球\) \(该问题等价于在 ...