Java基础总结--异常处理机制】的更多相关文章

------- android培训.java培训.期待与您交流! ---------- 异常:就是程序在运行时出现不正常情况. 异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述.并封装成对象.其实就是java对不正常情况进行描述后的对象体现. 异常的体系: 对于问题的划分:两种:一种是严重的问题,一种非严重的问题. 对于严重的,java通过Error类进行描述.对于Error一般不编写针对性的代码对其进行处理. 对与非严重的,java通过Exception类进行描…
本篇主要是记录自己所理解的Java异常处理机制(基于jdk1.7)以及怎么去处理和设计异常.还记得当初学习Java异常这块的时候都没怎么注意它的用途,以为就是简单的处理下异常,我避免程序出现这样错误就行了(当初真的很懵懂很天真).当踏入社会工作后才知道一个好的异常处理框架是有多重要,比方说当你的项目投入使用的时候,当程序出错如何快速的定位到问题的根源(出了什么错,在哪出的错,为什么出错),这就跟你的异常处理的好坏有关了(当然离不开你的日志处理).在有效使用异常的情况下,异常类型会回答报的什么错,…
在Java中,异常分为编译时异常和运行时异常. 编译时异常又叫编译时被监测的异常:在程序编译过程中监测到非运行时异常的异常,出现该异常要么向上抛出,要么捕获处理.运行时异常(runtimeException及其子类):在程序编译过程中监测到出现运行时异常,函数上或内部可以直接抛出异常,不需要捕获和声明. 编译时异常: 在某个方法中,try中出现异常,会将异常信息封装成一个对应异常信息的异常对象(new Exception),然后在catch中将这个异常对象进行捕获,然后进行异常的处理. 在mai…
----异常的概述-----1.异常,就是不正常的现象,可能发生在编译期间也可能发生在运行期间2.可能会出现不同的异常,进而在Java中对其描述封装为类--在这些异常类中抽取其共性的东西(异常发生的位置,名称等)--形成了异常体系的根类Throwable(可以抛出的异常)3.Throwable下面分为两大子类:Exception(可以进行处理) Error(严重情况,必须对程序修改)4.关于异常体系的一些总结* 异常的子类后缀名是以其父类名确定的,分别以Exception.Error结尾* 异常…
生活中的异常:  不能够完整而顺利的完成一些工作 根据不同的异常进行相应的处理,而不会就此终端我们的生活 引出:  异常处理: 方式:  1.选择结构(逻辑判断)避免 demo:if逻辑处理异常 import java.util.Scanner; public class TestIF { /** * 程序中的异常 * @param 房上的猫 */ public static void main(String[] args) { //处理异常的方式1:if ..逻辑判断 Scanner inpu…
最近开始了找工作的面试,在面试过程中,面试官问了关于Java当中的异常处理机制,一直以来,无论写代码还是看书,自己对异常处理这一块就没有很好的重视过,对它的认知也仅仅停留在通过Try-catch去进行捕获的层面,被面试官这么一问,自己瞬间懵逼了起来,特地在此总结一下java的异常处理机制. java把异常当做对象来处理,并且定义了一个所有异常的父类,即java.lang.Throwable类,而继承了这个Throwable类的子类分为了两种,也就是我们常说的Error(错误)和Exception…
异常处理 异常概述 在 Java 语言中,将程序执行中发生的不正常情况称为"异常",但是开发过程中的语法错误和逻辑错误不是异常. 在执行过程中所发生的异常事件可分为两类: Error:JVM 无法解决的严重问题,一般不编写针对性的代码进行处理.例如: StackOverflowError: OutOfMemoryError Exception:它因编程错误或偶然的外在因素导致的一般性问题,可以使 用针对性的代码进行处理.例如: 空指针访问: 试图读取不存在的文件: 网络连接中断: 数组…
程序运行过程中可能出现各种"非预期"情况,这些非预期情况可能导致程序非正常结束. 为了提高程序的健壮性,Java提供了异常处理机制: try { s1... s2... s3... } catch(Exception ex) { //对异常情况的修复处理 } 对于上面处理流程,当程序执行try块里的s1.s2.s3遇到异常时,Java虚拟机将会把这个异常情况封装成异常对象,这个异常对象可以被后面对应的catch块捕捉到,这样保证这些异常会得到合适的处理. Java对异常进行了分类,不同…
异常机制已经成为判断一门编程语言是否成熟的标准,异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性. Java异常机制主要依赖于try.catch.finally.throw.throws五个关键字. 1.try:它里面放置可能引发异常的代码 2.catch:后面对应异常类型和一个代码块,用于表明该catch块用于处理这种类型的代码块,可以有多个catch块. 3.finally:主要用于回收在try块里打开的物力资源(如数据库连接.网络连接和磁盘文件),…
异常:就是程序在运行时出现不正常情况.异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述.并封装成对象. 其实就是java对不正常情况进行描述后的对象体现. 对于问题的划分:两种:一种是严重的问题,一种非严重的问题. 对于严重的,java通过Error类进行描述. 对于Error一般不编写针对性的代码对其进行处理. 对与非严重的,java通过Exception类进行描述. 对于Exception可以使用针对性的处理方式进行处理. 无论Error或者Exception…
一:Java的异常处理机制的优点: 1:把各种不同情况的异常情况分类,使用JAVA类来表示异常情况,这种类被称为异常类.把各种异常情况表示成异常类,可以充分的发挥类的可扩展性和可重用性. 2:异常流程的代码和正常流程的代码分离,提高了代码的可读性,简化了代码的结构. 3:可以灵活的处理异常,如果发生了异常程序员可以手动抛出异常,也可以交给调用者来处理异常. 二:Java虚拟机的方法调用栈 Java虚拟机用方法来调用栈来跟踪每个线程一系列的方法调用过程,该堆栈保存了每个调用方法的本地信息(比如说方…
<Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleException extends Exception{} public class InheritingException{ public void f() throws SimpleException { System.out.println("Throw SimpleException from f…
java异常处理机制 1)在java语言中,通常将可能出现异常的语句放入try{}语句中,将出现错误后需要执行的语句放入到catch{}语句中,将无论是否发生异常都要执行的语句放在finally{}语句中. 2)当程序执行出现异常的时候,系统会抛出一个异常,然后由try{}语句中中出现异常的地方转到catch{}语句中.不过不管有没有异常产生,finally{}中的语句都将执行. 3)如果系统出现系统错误或者运行Runtime异常,jvm会结束程序运行,不一定会执行finally{}中的语句.…
认识异常 异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序的正常执行,在java使用一种称为异常处理的错误捕获机制处理. 为了能在程序中处理异常情况,必须研究程序中可能会出现的错误和问题 用户输入错误() 设备错误 物理限制(磁盘满了,) 代码错误(程序方法有可能无法正常执行) 处理异常 异常处理的简单格式 如果在try语句块中的任何代码抛出一个在catc…
之前的<java基础:内存模型>当中,我们大体了解了在java当中,不同类型的信息,都存放于java当中哪个部位当中,那么有了对于堆.栈.方法区.的基本理解以后,今天我们来好好剖析一下,java当中的类加载机制(其实就是在美团的二面的时候,被面试官问的懵逼了,特地来总结一下,免得下次再那么丢人 T-T). 我们都知道,在java语言当中,猴子们写的程序,都会首先被编译器编译成为.class文件(又称字节码文件),而这个.class文件(字节码文件)中描述了类的各种信息,字节码文件格式主要分为两…
今天就来说说java的异常处理机制,异常处理不是第一接触,尤其是写过非常多c#的代码,基本都会写到异常处理的代码,事实上c#的异常处理与java的异常处理基本都是一样的,仅仅是在一些细节上不是非常一样. 今天就来说说关于Java的异常处理机制. 一.为什么须要 1.原因非常easy就是错误是无法避免的.为什么这么说:我们的程序都是须要与外界交互的.可是外界环境是没有办法控制的.比如要訪问的文件不存在,突然网络中断,或者操作失误等等都在所难免.还有代码是程序猿写出来的,有bug也在情理之中. 2.…
一.概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 二.功能 (1)在运行时判断任意一个对象所属的类 (2)在运行时构造任意一个类的对象 (3)在运行时判断任意一个类所具有的成员变量和方法 (4)在运行时调用任意一个对象的方法 注:要想使用反射,首先需要获得待处理类或对象所对应的Class对象 三.获取Class对象的方式 获取某…
一.JAVA是动态语言吗? 一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言. 但JAVA它却有着一个非常突出的动态相关机制:反射.通过反射,Java可以于运行时加载.探知和使用编译期间完全求和的类.生成其对象实体,调用其方法或者对属性设值.所以Java算是一个半动态的语言吧. 反射的概念: 在Java中的反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方…
上一节,简单的介绍了java当中的内存模型,那么经常和内存模型一起提到的JAVA垃圾回收机制当然也需要在这里一并的总结一下. 所谓是垃圾回收机制,用通俗的话来说,就是将那些没有被任何变量引用的实例对象自动的进行垃圾回收,重新释放出可用的内存,以供之后使用的方法.在java当中垃圾回收机制几乎是程序员不可编程的,但是也正因为程序员不可编程,也可以说是不需要编程,所以java相比C++来在这一点来说,人性化的很多,因为C++当中需要在实例化一个对象之后,当这个对象不再被需要的时候,手动调用析构函数对…
1. 基础知识点图解 编程语言核心结构:变量.基本语法.分支.循环.数组.…… Java面向对象的核心逻辑:OOP.封装.继承.多态.接口…… 开发Java SE高级应用程序:异常.集合.I/O.多线程.反射机制.网络编程… 2. 各种语言对比 名称 适用对象 C 操作系统.嵌入式领域.数据库.服务器.单片机.编译器.Linux开发 C++  开发桌面软件.操作系统.图形处理.游戏.网站.搜索引擎.数据库 Java  Android平台应用.应用服务器程序.网站.嵌入式领域.大数据技术(包括Ha…
Java反射机制 Java反射机制是Java语言的一个重要特性,使得Java语言具备"动态性": 在运行时获取任意一个对象所属的类的相关信息; 在运行时构造任意一个类的对象: 在运行时获取任意一个类所具有的成员变量和方法: 在运行时调用任意一个对象的方法. JAVA反射机制是构建框架技术的基础. 例如后续学习的Spring框架等,都使用到反射技术: Java的反射机制依靠反射API实现,反射API主要包括以下几个类,后续学习: java.lang.Class类:代表一个类; java.…
JVM的类加载是通过ClassLoader及其子类来完成的,类的层次关系和加载顺序可以由下图来描述: 1)Bootstrap ClassLoader /启动类加载器 $JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类  2)Extension ClassLoader/扩展类加载器 负责加载java平台中扩展功能的一些jar包,包括$JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定目录下的jar包 3…
反射 反射可以使我们很方便的创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代码链接.反射允许我们在编写和执行时,使我们的代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码. 反射机制作用 反编译:.class -> .java 通过反射机制访问Java对象的属性,方法,构造方法 反射的使用 反射机制获取类的三种方式 Class c1 = Class.forName("com.webb.basis.reflect.Demo"); // 一般采…
Java的两种核心机制 Java虚拟机机制 Java垃圾回收机制 解释名词 J2SDK&JRE: J2SDK=JDK=Software Development Kit(软件开发包) JRE=Java Runtime Environment(Java运行环境) 只运行Java,只需要JRE,JDK包含了JRE…
反射的基石 -> Class 类(字节码)/*只要是在源程序中出现的类型,都要各自的Class实例对象,例如:int,int[],void*/如何得到各个字节码对应的实例对象(Class类型) 1.类名.class 2.对象.getClass 3.Class.forName("类名");(1.先忘内存中找,是否有这个字节码 有的话,就是用,没有的话 就使用类装载器的方式,得到字节码)/*这三种方式得到的字节码 都是同一份 是一样的*/九个预定义Class实例对象(八种基本数据类型…
一.基本概念 1.异常的作用: java将异常信息打印至控制台,供程序修改,增加其健壮性. int c=1/0;    //将抛出 java.lang.ArithmeticException 2.异常以类的形式存在,每个异常类都可以生成异常对象…
异常处理 好程序的特性 可重用性 可维护性 可扩展性 鲁棒性 |--|--Robust的音译 |--|--健壮.强壮之意 |--|--指在异常和危险情况下系统依然能运行,不崩溃 Java中,写下如下代码: public class TestException { public static void main(String[] args) { int a = 10 / 0; System.out.println("-END-"); } } 代码运行到"10 / 0"…
SPI 机制,全称为 Service Provider Interface,是一种服务发现机制.它通过在 ClassPath 路径下的 META-INF/services 文件夹查找文件,自动加载文件里所定义的类.这一机制为很多框架扩展提供了可能,比如在 Dubbo.JDBC 中都使用到了 SPI 机制.本文介绍了 Java SPI 机制以及在模块化和非模块话项目中的实现方式(此处的模块化指 Java9 引入的模块化) SPI 机制介绍 SPI 全称 Service Provider Inter…
JVM运行的时候,将内存分为两个部分,一部分是堆,一部分是栈.堆中存放的是创建对象,而栈中存放的则是方法调用过程中的局部变量或引用.在设计JAVA字符串对象内存实现的时候,在堆中又开辟了一块很小的内存,称之为字符串常量池,专门用来存放特定的字符串对象的. 例如: String s1="JavaSE6.0"; //存放在字符串常量池中.性能高 String str = new String("JavaSE6.0"); //存放在堆中 s1==str ; //返回fal…
异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间.地点.人物.情节等信息,可以用一个对象来表示,Java使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象来表示的,该对象中包含有异常的信息. Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error和Exception Erro…