java基础(十)--- 异常

异常分类图解:

Throwable
|--Error 严重问题,我们不处理。
|--Exception
  |--RuntimeException 运行期异常,我们需要修正代码
  |--非RuntimeException 编译期异常,必须处理的,否则程序编译不通过

异常对象的常见方法:

  如果程序需要在catch块中访问对象的相关信息,则可以通过访问catch块后的异常形参来获得。当java运行时决定调用某个catch块来处理该异常对象时,会将异常对象赋给catch块后的异常参数,程序即可通过该参数来获得异常相关信息。

  getMessage():返回该异常的详细描述字符串

  printStackTrace():将该异常的跟踪栈信息输出到标准错误输出。

  printStackTrace(PrintStream s):将该异常的跟踪栈信息输出到标准错误输出。

  getStackTrace():返回该异常的跟踪栈信息。

finally的特殊情况:

  通常情况下,不要在finally块中使用如return或者throw等导致方法终止的语句。

  当java程序执行try块、catch块时遇到了return或者throw语句。这两个语句都会导致该方法立即结束,但是系统执行这两个语句并不会结束该方法,而是去寻找该异常处理流程中是否包含finally块,如果没有finally块,程序立即执行return或throw语句,方法终止。如果有finally块,系统立即开始执行finaly块----只有当finally块执行完成后,系统才会再次跳回来执行try块、catch块里的retrun或throw语句;如果finally块里也使用了return或throw等导致方法终止的语句,finally块一斤终止了方法,系统将不会跳回去执行try块、catch块里的任何代码。

自定义异常
  继承自Exception或者RuntimeException,只需要提供无参构造和一个带参构造即可

时间: 2024-08-05 05:15:27

java基础(十)--- 异常的相关文章

Java基础十二--多态是成员的特点

Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println(f.num);//是父类,答案是3 2,成员函数(非静态). 编译看左边,运行看右边. 因为成员函数存在覆盖特性. Fu f = new Zi();//f.show();输出的是子类里面的show方法 3,静态函数. 编译和运行都看左边. 静态函数不具备多态性,多态性是对象的多态性,然后静态函数不涉

Java基础十--接口

Java基础十--接口 一.接口的定义和实例 1 /* 2 abstract class AbsDemo 3 { 4 abstract void show1(); 5 abstract void show2(); 6 } 7 8 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用 9 另一种形式定义和表示,就是 接口 interface. 10 */ 11 12 //定义接口使用的关键字不是class,是interface. 13 //interface编译后还是.class文件,其实本质

【Java基础】异常的简单分类与处理

Java中所有的异常都继承自Throwable类,Throwable类的已知子类有Error和Exception. Error是指系统出现的错误,这种错误出现的时候,我们的程序无能为力,所以不需要进行处理. Exception则是在程序中出现的异常,我们通常对这些异常进行处理. Exception有很多的子类,有一类比较特殊,那就是RuntimeException.RuntimeException属于非受检异常,也就是编译器不会对这种异常进行检查,这类异常被允许不用捕捉,也就是不用catch.我

05. Java基础之异常

本文参考了以下链接并作出总结与修改: 1.https://www.cnblogs.com/lulipro/p/7504267.html 2.https://www.cnblogs.com/taiwan/p/7073743.html 3.https://blog.csdn.net/chaplinlong/article/details/50983594 一.简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出

【java基础之异常】死了都要try

目录 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类是 Java 语言中所有错误或异常的超类.主要包括两个子类: Error和Exception. 一般中要处理的异常是Exception. Java中最常见的处理方式是try catch finally.格式为: try { 需要被检测的异常. } catch(异常类 变量) { 处理异常的代码()处理方式 } finally { 一定会被执行的代码语句 } 一个简单的异常处理代码及有关函数的应用: 1 /* 2 异常:Exception. 3 处理异常

Java基础十八

1 异常 1.1 异常概述 异常:异常就是Java程序在运行的过程中出现的错误. 1.2 异常的由来 问题是现实生活中一个具体的事务,是可以通过Java的类的形式进行描述的,并封装成对象. 其实对不正常情况进行描述后的对象的体现在Java中就是异常. 1.3 异常的分类 异常体系的超类是Throwable. Throwable下面有2个子类Error(错误)和Exception(异常). Exception下面有RuntimeException(运行期异常)和编译期异常(Exception的子类

Java基础笔记-异常总结,包

异常:是对问题的描述,将问题进行对象封装, 异常的体系: Throwable: 1.Error 2.Exception 1.RuntimeException 异常体系的特点: 异常体系中的所有类以及建立的对象都具备可抛性.可以被throw和throws关键字所操作,只有异常体系具备这个特点. throw和throws的用法区别: throw定义在函数内,用于抛出异常对象. throws定义在函数上,用于抛出异常类,可以抛出多个并用逗号隔开. 当函数内容有throw抛出异常对象,并未进行tryca

3.3 java基础总结①异常②自定义异常

①异常②自定义异常 一.Java中问题概述一般来说有个2/8原则,一个程序员80% 的精力在处理20%可能发生异常的代码Java中问题分为错误(Error)和异常(Exception) 错误:不能用代码解决的问题,往往是环境或者硬件的问题异常:可通过修改代码或者预处理来解决的不正确情况,称为异常 异常分为编译期异常和运行时异常,如果抛编译异常,语法上调用者必须处理或往上抛:抛运行时异常,调用者可不往上抛 Java里边结束的3中方式:①正常执行完②return返回③发生异常,没有处理,强制结束都是

黑马程序员-----Java基础:异常和异常处理

------- android培训.java培训.期待与您交流! ---------- 异常概述 异常:就是程序在运行时出现的不正常的情况 异常由来:问题也是现实生活中的一个具体的事物,也可以通过Java的类的形式进行描述,并封装成对象 对于问题的划分:一种是严重的问题.一种是非严重的问题 对于严重的,Java通过Error类进行描述,对于Error一般不编写针对性的代码对其进行处理 对于非严重的,Java通过Exception类进行描述,对于Exception可以使用针对性的处理方式进行处理