java-异常概述及体系

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-异常概述及体系的更多相关文章
- Java异常体系概述
Java的异常体系结构 Java异常体系的根类是 Throwable, 所以当写在java代码中写throw抛出异常时,后面跟的对象必然是Throwable或其子类的对象. 其中Exception异常 ...
- Java基础系列5:深入理解Java异常体系
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 前言: Java的基 ...
- Java——深入理解Java异常体系
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 前言: Java的基 ...
- Java 异常(一) 异常概述及其架构
Java 异常(一) 异常概述及其架构 一.异常概述 (一).概述 Java异常是Java提供的一种识别及响应错误的一致性机制.异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常 ...
- Java 异常体系(美团面试)
Java把异常作为一种类,当做对象来处理.所有异常类的基类是Throwable类,两大子类分别是Error和Exception. 系统错误由Java虚拟机抛出,用Error类表示.Error类描述的是 ...
- java(异常体系及权限修饰符)
java异常体系 异常的体系: 异常体系: --------| Throwable 所有错误或者异常的父类 --------------| Error(错误) --------------| Exce ...
- java 异常体系详细介绍
一.异常概述与异常体系结构 异常:在Java语言中,将程序执行中发生的不正常情况称为"异常".(开发过程中的语法错误和逻辑错误不是异常). Java把异常当作对象来处理,并定义一个 ...
- Java异常体系及分类
上图是基本的java异常体系结构. 主要分为2大类:Error和Exception 1.Error:描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象,一般是由虚拟 ...
- Java异常体系简析
最近在阅读<Java编程思想>的时候看到了书中对异常的描述,结合自己阅读源码经历,谈谈自己对异常的理解.首先记住下面两句话: 除非你能解决这个异常,否则不要捕获它,如果打算记录错误消息,那 ...
- Java集合概述、Set集合(HashSet类、LinkedHashSet类、TreeSet类、EnumSet类)
Java集合概述.Set集合(HashSet类.LinkedHashSet类.TreeSet类.EnumSet类) 1.Java集合概述1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指 ...
随机推荐
- c++设计模式概述之状态
代码写的不够规范,目的是为了缩短篇幅,实际中请不要这样做 参看:https://www.runoob.com/design-pattern/state-pattern.html 1.概述 这个有点抽象 ...
- 再谈多线程模型之生产者消费者(基础概念)(c++11实现)
0.关于 为缩短篇幅,本系列记录如下: 再谈多线程模型之生产者消费者(基础概念)(c++11实现)[本文] 再谈多线程模型之生产者消费者(单一生产者和单一消费者)(c++11实现) 再谈多线程模型之生 ...
- 【九度OJ】题目1445:How Many Tables 解题报告
[九度OJ]题目1445:How Many Tables 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1445 题目描述: ...
- 【剑指Offer】二叉树中和为某一值的路径 解题报告(Python)
[剑指Offer]二叉树中和为某一值的路径 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervi ...
- 【剑指Offer】和为S的两个数字 解题报告(Python)
[剑指Offer]和为S的两个数字 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...
- OA系统中手写签批功能的实现
一.需求背景 OA系统审批中,有对word或者pdf文件源文档在指定的位置可以插入相应的文字,其实就是一个审批的功能,到了指定的人那边,他可以进行签批.这个功能一般来说,是针对于领导方面,对于一个事情 ...
- Monkey工具之fastbot-iOS实践
Monkey工具之fastbot-iOS实践 背景 目前移动端App上线后 crash 率比较高, 尤其在iOS端.我们需要一款Monkey工具测试App的稳定性,更早的发现crash问题并修复. 去 ...
- Codeforces 849A:Odds and Ends(思维)
A. Odds and Ends Where do odds begin, and where do they end? Where does hope emerge, and will they e ...
- 「算法笔记」快速数论变换(NTT)
一.简介 前置知识:多项式乘法与 FFT. FFT 涉及大量 double 类型数据操作和 \(\sin,\cos\) 运算,会产生误差.快速数论变换(Number Theoretic Transfo ...
- Jenkins_centos7安装jenkins(1)
Jenkins自动化部署的流程 一.下载安装 下载安装JDK wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/j ...