Java基础:(八)异常】的更多相关文章

Java基础八--构造函数 一.子父类中构造函数的特点 1.1 为什么在子类构造对象时,发现,访问子类构造函数时,父类也运行了呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 构造方法中其实还有一句return;对应返回值中的void 子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数的构造函数. (因为是继承父类的属性,肯定要父类属性完成初始化再是子类这边的初始化.) 说明: 其实只要记住子类构造函数中默认有一句super();即可,所以当父类为有参…
在开发中,异常处理是一个不可绕开的话题,我们对于异常的处理已经非常熟练了,对于异常本身的概念.用法等不再赘述了,直接结合面试问题来加深对异常的理解吧. Throwable 可以用来表示任何可以作为异常抛出的类,分为两种: Error 和 Exception. 1. 什么是Java异常 异常是发生在进程执行过程中阻碍进程正常执行的错误事件.比如:用户输入错误数据.硬件故障.网络阻塞等都会导致出现异常. 只要在Java语句执行中产生了异常,一个异常对象就会被创建,JRE就会试图寻找异常处理进程来处理…
目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常throws 2.4 捕获异常try-catch 2.4 finally 代码块 2.5 finally 代码块与return语句 2.6 异常注意事项 3.自定义异常 3.1 概述 3.2 自定义异常练习 4.来!和异常大干一场 @ 1.异常 1.1 异常概念 异常 :简单说就是不正常运行,最终导致JVM…
一.基础知识 处理异常,java提供了一个优秀的解决方案:异常处理机制. java把异常当作对象来处理,所有的异常都是由Throwable继承而来,但在下一层立即分解为两个分支:Error和Exception. java异常体系结构图如下: Error类:这类异常由java虚拟机生成并抛出,大多数错误与代码编写者无关,不能被程序员通过代码来处理.发生这种异常时,java虚拟机一般会选择关闭线程.Error异常很少出现,所以我们更应该关注Exception分支下异常. Exception类:这类异…
目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常throws 2.4 捕获异常try…catch 2.4 finally 代码块 2.5 finally 代码块与return语句 2.6 异常注意事项 3.自定义异常 3.1 概述 3.2 自定义异常练习 4.来!和异常大干一场 @ 1.异常 1.1 异常概念 异常 :简单说就是不正常运行,最终导致JVM…
Java中的异常机制: Throwable类是 Java 语言中所有错误或异常的超类.主要包括两个子类: Error和Exception. 一般中要处理的异常是Exception. Java中最常见的处理方式是try catch finally.格式为: try { 需要被检测的异常. } catch(异常类 变量) { 处理异常的代码()处理方式 } finally { 一定会被执行的代码语句 } 一个简单的异常处理代码及有关函数的应用: /* 异常:Exception. 处理异常的方式: t…
1.异常的概念 异常:程序在运行时出现的不正常情况,也可以说是出现的问题: Java中的异常:出现的不正常的问题也是一类事物,这类事物有一些共性的东西,比如有名称,有产生的原因等,将这些共性的部分抽取后,可以通过Java类的形式对其进行描述,并封装成对象: 简单的说就是,Java对不正常情况进行描述后的对象体现: 2.Java中的异常体系 |--Throwable:Java中的所有异常都有Throwable继承而来: |--Error:描述的是Java运行时系统的内部错误和资源耗尽错误:是一类严…
dff ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 经常写程序的人对try...catch...finally语句肯定是不陌生的了.但是好多人总对异常搞不太清楚,不知道这个异常什么意思,不知道为什么用这个异常处理,这篇博客为大家从本质上剖析一下java中的异常处理的工作原理. 一.定义 在<java编程思想>中这样定义异常:阻止当前方法或作用域继续执行的问题. 这是书面上的语言,翻译成我们自己的语言其实就是程序运行出现了问题.具体一点…
1. 异常 什么是异常?Java代码在运行时期发生的问题就是异常. 在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置.原因等). 1.1 异常的继承体系 在Java中使用Exception类来描述异常. 查看API中Exception的描述,Exception 类及其子类是 Throwable 的一种形式,它用来表示java程序中可能会产生的异常,并要求对产生的异常进行合理的异常处理. 继续观察,我们可以发现Exception有继承…
异常: (1)异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象.其实就是Java对不正常情况进行描述后的对象体现. (2)异常的体系         Throwable             |--Error    严重问题,我们不处理.             |--Exception                 |--RuntimeException    运行期异常,我们需要修正代码  …
文章目录 Java中异常处理机制的简单和应用 一.异常的体系结构&分类 二.问题扩展 三.应用场景 Java中异常处理机制的简单和应用 异常也是一种对象,Java中有很多异常类,并且定义了基类Java.lang.Throwable为许多异常类的超类 许多异常类的继承结构查看API文档 一.异常的体系结构&分类 题目分析 *什么是异常? 异常指的是程序的不正常,简单理解就是程序所发生的错误 *异常的体系结构&分类: 分类: 1.编译时异常:指的是编译期间,编译器检测到某段代码可能会发…
基础回顾 什么是异常? 在Java程序运行时,常常会出现一些非正常的现象,这种情况称为运行错误.根据其性质可以分为错误和异常. Java程序中所有抛出的异常都必须从Throwable派生而来.类Throwable有两个直接子类:Error和Exception. 一般来说,最常见的错误有程序进入死循环.内存泄露等.这种情况下,程序运行时本身无法解决问题,只能通过其他程序干预.Java对应的类为Error类.Error类对象由Java虚拟机生成并抛弃(通常Java程序不对这类异常进行处理). 异常是…
匿名内部类:没有名字的内部类.就是内部类的简化形式.一般只用一次就可以用这种形式.匿名内部类其实就是一个匿名子类对象.想要定义匿名内部类:需要前提,内部类必须继承一个类或者实现接口. 匿名内部类的格式:new 父类名&接口名(){ 定义子类成员或者覆盖父类方法 }.方法. 匿名内部类的使用场景: 当函数的参数是接口类型引用时,如果接口中的方法不超过3个.可以通过匿名内部类来完成参数的传递. 其实就是在创建匿名内部类时,该类中的封装的方法不要过多,最好两个或者两个以内. 异 常:★★★ 异常处理原…
当异常发生时,原本要接着执行的代码不再执行,转而让其他部分的代码来处理.如果没有代码负责处理,控制台会报告异常. 异常出现时的执行机制: 异常机制最大的好处是:清晰地分开了 正常的业务逻辑 和 遇到情况时的处理 代码.(当在业务逻辑中,有多步可能会抛出不同的异常时,异常处理机制的好处更得以体现.如果没有这种机制,也许会通过很多的if...else...来实现异常处理,甚至是多层嵌套的if...else...,这样的代码可读性很差) 通过例子来理解: package exception; publ…
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception. Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息.Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出).假如出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的. Exception:表示可…
异常:是对问题的描述,将问题进行对象封装, 异常的体系: Throwable: 1.Error 2.Exception 1.RuntimeException 异常体系的特点: 异常体系中的所有类以及建立的对象都具备可抛性.可以被throw和throws关键字所操作,只有异常体系具备这个特点. throw和throws的用法区别: throw定义在函数内,用于抛出异常对象. throws定义在函数上,用于抛出异常类,可以抛出多个并用逗号隔开. 当函数内容有throw抛出异常对象,并未进行tryca…
Java中所有的异常都继承自Throwable类,Throwable类的已知子类有Error和Exception. Error是指系统出现的错误,这种错误出现的时候,我们的程序无能为力,所以不需要进行处理. Exception则是在程序中出现的异常,我们通常对这些异常进行处理. Exception有很多的子类,有一类比较特殊,那就是RuntimeException.RuntimeException属于非受检异常,也就是编译器不会对这种异常进行检查,这类异常被允许不用捕捉,也就是不用catch.我…
1.编译型异常和运行时异常       编译时异常是指程序正确 而由外界条件不满足而产生的异常 java 中要求必须去捕捉住这类异常 不然无法通过编译 运行时异常是指程序存在着bug 如空指针异常 数组下标越界 都属于 运行时异常 2.Error和Exception       Exception:是程序本身可以处理的异常 Error:是程序无法处理的错误,这些错误标识故障发生于虚拟机自身或者发生在虚拟机试图执行应用时,一般不需要程序处理,例如:内存空间不足,栈溢出 3.throws  在方法的…
最近开始了找工作的面试,在面试过程中,面试官问了关于Java当中的异常处理机制,一直以来,无论写代码还是看书,自己对异常处理这一块就没有很好的重视过,对它的认知也仅仅停留在通过Try-catch去进行捕获的层面,被面试官这么一问,自己瞬间懵逼了起来,特地在此总结一下java的异常处理机制. java把异常当做对象来处理,并且定义了一个所有异常的父类,即java.lang.Throwable类,而继承了这个Throwable类的子类分为了两种,也就是我们常说的Error(错误)和Exception…
五种常见异常 1.NullPointerException 空指针 2.ClassNotFoundException 指定类不存在 3.ArithmeticException运算异常 4.ArrayIndexOutOfBoundsException数组下标越界 5.IllegalArgumentException方法的参数错误 6.IllegalAccessException 没有访问权限 小例子 import java.util.Scanner; public class Exception…
String源码:基于jdk1.8 public final class String implements Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char[] value; /** Cache the hash code for the string */ private int hash; public St…
JVM虚拟机默认异常处理机制 Java异常处理: 1.try...catch... 2.throw 1.try...catch... public class test{ public static void main(String[] args) { System.out.println("开始"); method(); System.out.println("结束"); } public static void method(){ int[] arr={1,2,…
1.异常的体系 1)请描述异常的继承体系 异常继承体系为:异常的根类是 java.lang.Throwable,其下有两个子类:java.lang.Error 与 java.util.Exception .而Exception又分为编译时期异常:checked异常,与运行时期异常:runtime异常. 2)请描述你对错误(Error)的理解 Error:表示不可修复的恶性的错误,只能通过修改代码规避错误的产生,通常是系统级别的,所以很严重. 3)请描述你对异常(Expection的理解) Exc…
IO流 概述与分类 Java中的IO流技术主要用于传输数据.典型的应用场景有:读写本地文件,上传下载文件等.按照数据传输的方向可以分为两种: l  输入流(Input):既让数据进入应用程序中. l  输出流(Output):既让数据离开应用程序. 按照数据的种类还可以有另外一种分法: l  字节流:可以处理任何一种数据. l  字符流:只能处理纯文本数据. 现阶段我们主要学习:字符输入流,字符输出流,来实现读写文件的功能. 整理一下IO流的分类:               字节输入流    …
对象具有状态和行为两种属性.行为存在类中的方法中,想要保存状态有多种方法,这里介绍两种: 一是保存整个当前对象本身(通过序列化):一是将对象中各个状态值保存到文件中(这种方式可以给其他非JAVA程序用),如果其他程序需要用到的状态,可以通过特定的格式存储到文本中,方便其他程序解析提取数据   序列化(serialization) 只有自己写的JAVA程序用到存储的数据时,使用序列化 序列化将整个对象写入到文件中,该对象引用的实例变量.所有被引用的对象都会被序列化   创建一个可以被序列化的类 只…
1.线程状态 如上图,当我们新建一个线程,并start后,其实不一定会马上执行,因为只有操作系统调度了我们的线程,才能真正进行执行,而操作系统也随时可以运行其他线程,这时线程又回到可运行状态.这个过程是操作系统控制的,不是我们能控制的.我们能控制的是将线程变为blocked,并从blocked变为runable状态. 在以前实验的wait和notify中,我当时并没有注意到notify后会进行锁阶段,以为notify后直接进入runable状态,等待操作系统调度.  从上面的图中可以看到,我们n…
Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问. Java 中一共有四种访问权限控制,其权限控制的大小情况是这样的:public > protected > default(包访问权限) > private ,具体的权限控制看下面表格,列所指定的…
集合接口与泛型 定义: 集合接口会操作一系列相同属性数据的对象类型的数据结构,类似于数组,但是相对于数组来说更显得高端大气 集合的接口分为Collention和Map两大类,不直接操作,而是通过子类的实现来操作 常用的集合有 Collection->List里面的ArrayList Collection->Set里面的HashSet Map(以键值对的形式)里面的HashMap Set和List的区别 Set 接口实例存储的是无序的,不重复的数据. List 接口实例存储的是有序的,可以重复的…
引言   本文将介绍常量池 与 装箱拆箱机制,之所以将两者合在一起介绍,是因为网上不少文章在谈到常量池时,将包装类的缓存机制,java常量池,不加区别地混在一起讨论,更有甚者完全将这两者视为一个整体,给初学者带来不少困扰,我就是过来的.同时,也因为包装类的缓存 与 字符串常量池的思想是一样的,很容易混淆,但是实现方式是不一样的. 一.常量池 在介绍常量池前,先来介绍一下常量.字面常量.符号常量的定义. 常量 可分为 字面常量(也称为直接常量)和 符号常量. 字面常量: 是指在程序中无需预先定义就…
转载请注明出处:jiq•钦's technical Blog public voidtestException(){ int a[] = {1,2,3};int q = 0; try{ for(int i=0;i<a.length;i++){a[i] /= q;} }catch(ArithmeticException h){ System.out.print("ArithmeticException\n"); //运行 }catch(Exception e){ System.ou…