异常处理


异常处理

异常:是代码在运行时出现不正常的现象,如果不及时处理,就会出现jvm不正常的运行

 

 

 

Java 异常处理

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。

比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。

异常发生的原因有很多,通常包含以下几大类:

  • 用户输入了非法数据。

  • 要打开的文件不存在。

  • 网络通信时连接中断,或者JVM内存溢出。

这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。-

要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:

  • 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。

  • 运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

  • 错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

异常抛出机制:

  1. 不同异常用不同的异常类表示,可以自己创建异常对象,throw这个异常;

  2. 程序员也可catch这个异常对象,并处理,如果没有catch这个对象,那么该异常对象就会终止掉这个程序

如何对待异常:

  1. 遇到错误就终止程序的运行

  2. 程序员在编写程序时,就充分考虑到各种可能的发生的异常或错误,实现避免,实在无法避免,就应该编写相应的代码进行异常检测,以及处理,保证代码的健壮性。

处理异常有两种方式:

  1. 抓,try - catch - finally

  2. 抛 ,throws /throw

在开发中,运行时异常一般我们根据红线提示修改就好了,编译时异常就要用到抛和抓来处理。

throw后的代码不能被执行,编译不通过。

throw和throws的区别:

throw是使用在方法块里面的,只能抛出一个异常实例,而throws是紧跟在方法体后面的,他可以抛出多个异常,抛出的是异常的类。

自定义异常的定义:

  1. 继承于现有的异常体系,通常继承于RuntiException\Exceotion

  2. 通常提供几个重载的构造器

  3. 提供一个全局变量,声明为Stactic final long SerrialversionUID

注意:

 

 

 

posted @ 2023-03-11 13:39  jessi呀  阅读(37)  评论(0编辑  收藏  举报