JAVA_SE基础——53.什么是异常?

尽管人人都希望自己的身体健康,处理事情都能顺利进行,

但是在实际生活中总会遇到各种状况,比如,感冒发烧,电脑突然蓝屏死机等。。程序也一样,程序在运行过程中,也会发生各种非正常状况,比如程序运行时磁盘不足,网络连接中断,被装载的类不存在。 针对这种情况,在Java语言中,引入了异常,以异常类的形式对这些非正常情况进行封装,通过异常处理机制对程序运行时发生的各种问题进行处理。。

接下来看下code1 来认识一下什么是异常。

code1

package day10;

public class TestException1 {
	public static void main(String[] args){
		divide(2,0);
	}
	public static void divide(int a , int b ){
			int c = a/b ;
			System.out.println("c = "+c);
	}
}

运行结果:

Exception in thread "main" java.lang.ArithmeticException: / by zero

at day10.TestException1.divide(TestException1.java:8)

at day10.TestException1.main(TestException1.java:5)

从运行结果可以看出,程序发生了 算数异常(ArithmeticException),这异常是由于程序中 调用divide()方法时传入

参数0,在方法中的 int c = a/b ; 中出现了 除数为0的错误。 在这个异常发生后,程序会立即结束,无法继续向下执行。

以上code1代码中出现的异常 :算数异常(ArithmeticException) 只是Java异常类中的一种,在Java中还提供了

大量的异常类,这些类都继承自java.lang.Throwable 类。接下来我通过一张图来展示Throwable类的继承体系:

通过上图可以看出,Throwable有两个直接子类Error和Exception,其中Error代表程序中产生的错误,

Exception代表程序异常。接下来就对这两个直接子类进行详细讲解

Error类称为错误类:

它表示Java运行时产生的系统内部错误或资源耗尽的错误,是比较严重的,仅靠修改代码 修改程序本身是不能恢复执行的。举一个生活中的例子   不可治疗的病如:晚期癌症,艾滋 。。  这就相当于一个Error,使用java命令去运行一个不存在的类就会出现Error错误。如下图。

命令行窗口直接执行“java Demo11” 命令,由于虚拟机无法找到Demo11这个类,就会抛出“找不到或无法加载主类”的错误

Exception类称为异常类

它表示程序本身可以处理的错误,在开发java程序中进行的异常处理,都是针对Exception类及其子类。

而Exception类 又可以分为 :

运行时异常(非RuntimeException类其它都表示编译时异常)

编译时异常(RuntimeException)

到这里我们已经了解了Throwable类,为了后面方便的学习,接下来将Throwable类中的常用方法罗列出来:

e.toString():  获得异常种类和错误信息

e.getMessage():获得错误信息

e.printStackTrace():在控制台打印出异常种类,错误信息和出错位置等

交流企鹅:654249738

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 13:11:57

JAVA_SE基础——53.什么是异常?的相关文章

JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别

黑马程序员入学blog ... 如果这章节很难懂的话应该返回去先看  JAVA_SE基础--10.变量的作用域 定义的位置上区别: 1. 成员变量是定义在方法之外,类之内的. 2. 局部变量是定义在方法之内. 作用上的区别: 1. 成员变量的作用是用于描述一类事物的公共 属性的. 2. 局部变量的作用就是提供一个变量给方法内部使用而已. 生命周期区别: 1. 随着对象 的创建而存在,随着对象的消失而消失. 2. 局部变量在调用了对应的方法时执行到了创建该变量的语句时存在,局部变量一旦出了自己的作

JAVA_SE基础——54.异常

异常的体系: ----------| Throwable  所以异常或者错误类的超类 --------------|Error  错误   错误一般是用于jvm或者是硬件引发的问题,所以我们一般不会通过代码去处理错误的. --------------|Exception 异常   是需要通过代码去处理的. 如何区分错误与异常呢: 如果程序出现了不正常的信息,如果不正常的信息的类名是以Error结尾的,那么肯定是一个错误. 如果是以Exception结尾的,那么肯定就是一个异常. 异常的处理: 方

零基础学python-2.18 异常

这一节说一下异常except 继续沿用上一节的代码.我有益把文件名称字搞错.然后在结尾部分加上异常捕捉: try: handler=open("12.txt")#在这里我特别将文件的名字搞错 for eachLine in handler: print(eachLine,end='') handler.close() except IOError as e: print(e) 他会出现报错的内容: python本身包括了非常多异常,我们将会后面具体展开 就讲到这里.谢谢大家 -----

java基础(十)--- 异常

异常分类图解: Throwable |--Error 严重问题,我们不处理. |--Exception |--RuntimeException 运行期异常,我们需要修正代码 |--非RuntimeException 编译期异常,必须处理的,否则程序编译不通过 异常对象的常见方法: 如果程序需要在catch块中访问对象的相关信息,则可以通过访问catch块后的异常形参来获得.当java运行时决定调用某个catch块来处理该异常对象时,会将异常对象赋给catch块后的异常参数,程序即可通过该参数来获

JAVA_SE基础——37.单例设计模式

本文继续介绍23种设计模式系列之单例模式. 我们在javaSE的基础学习中,会讲到:单例设计模式.模板设计模式.装饰者设计模式.观察者设计模式.工厂设计模式 我以后随着水平的提高,我会专门开个分类写设计模式的.现在请原谅我的知识面有限-- 设计模式→中的    "模式" 二字是什么意思.. 模式:模式就是解决 一类 问题的固定步骤 . 模式的概念最早起源于建筑行业.... 建房子的步骤都是一样子: 打地基-----> 浇柱子------->盖楼面--------->砌

.NET基础 (07)异常的处理

异常的处理1 如何针对不同的异常进行捕捉2 如何使用Conditional特性3 如何避免类型转换时的异常 异常的处理 1 如何针对不同的异常进行捕捉 C#中一个try块可以有多个catch块,每个catch块可以针对特别的异常进行特别的处理.但是安全起见,最后应该添加一个对象Exception类型的异常捕捉的catch块,以保证没有异常被毫无处理地抛出. 实例代码如下: class CatchException { static void Main(string[] args) { Catch

JAVA_SE基础——56.包的创建

接下来我来给大家讲下--包 , 先看一段代码 class Demo1{ public static void main(String[] args) { System.out.println("这个是Demo1的main方法"); } } 然后再新建一个Java文件,然后类名也叫Demo1,但是文件名叫Demo2 class Demo1 { public static void main(String[] args) { System.out.println("这个是Demo

JAVA_SE基础新版day01学习笔记总结

###01.01_计算机基础知识(计算机概述)(了解) * A:什么是计算机?计算机在生活中的应用举例 * 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. * 应用举例 * 1:科学计算 * 2.数据处理 * 3.自动控制 * 4.计算机辅助设计 * 5.人工智能 * 6.多媒体应用 * 7.计算机网络 * ...

JAVA_SE基础——58.如何用jar命令对java工程进行打包

有时候为了更方便快捷的部署和执行Java程序,要把java应用程序打包成一个jar包.而这个基础的操作有时候也很麻烦,为了方便java程序员们能够方便的打包java应用程序,下面对jar命令进行介绍,并举出几个简单例子针对不同情况进行打包. jar命令用法: 在cmd命令窗口下输入jar,回车,就会提示改命令的用法: 打jar包: 需要使用到jdk的开发工具(jar.exe). jar文件的作用: 1. 方便用户快速运行一个项目. 2. 提供工具类以jar包的形式给别人使用. 如果使用jar包里