异常

简介: 异常

异常概述

什么是异常

Java 在运行过程当中出现的错误

异常继承体系

Throwable

Throwable继承体系

异常处理方式

  1. 自己处理,然后继续运行
  2. 自己没有办法处理,交给 Jvm 来处理

JVM 有一个默认的异常处理机制将异常处理,并将该异常的名称,异常信息,异常出现的位置给打印在控制台上,同时停止运行


10/0;

违背了算法运算法则,抛出异常

抛出的异常是一个对象

New ArithmeticException(“/by zero”) 把这个异常对象返回

此时想把异常对象赋值给a

a是一个int类型不能接收,main方法解决不了

交给jvm来处理,jvm就将该异常在控制台打印程序终止。

自己处理异常

try…catch…finally

基本格式

try{ 
    可能出现理异常的代码 
}catch(异常类型){
}finally{
   处理完异常最后做的处理
}
Try:用来检测异常
Catch:用来捕获异常
Finally:释放资源

10/0;会创建一个异常对象

New ArithmeticException(“/by zero”)

赋值给a,接收不了,此时就把异常对象传给catch当中的参数a

能够接收,就会执行catch当中的内容,程序也没有终止

只有在try出问题的时候才会执行catch当中的内容,出问题时 catch 处理完毕之后,后续的代码继续执行

try…catch处理多个异常

在try当中可能会出现不同的异常类型,此时可以使用多个catch来进行处理




Exception e 不能写在最上面,写在上面会报错,因为下面的永远不会执行到

JDK7处理多个异常

常用方法

获取异常信息

获取异常类名和异常信息

获取异常类名和异常信息,及异常出现的位置

throws方式处理异常

抛出运行时异常

抛出运行时异常,不需要处理

抛出编译时异常

抛出了一个编译时异常,必须得要有人处理

如果不处理,必须继续往上抛,抛给方法调用者

此时由于 setAge 内部抛出了一个异常,在调用该方法时必须得要处理

  1. 必须处理异常

  1. 继续往上抛出

throw与throws区别

throw

用在方法体内,跟的是异常对象名称,只能抛出一个异常对象,表示抛出异常

throws

用在方法声明后面,跟的是异常类名,可以跟多个异常类名,中间使用逗号隔开,表示抛出异常,由方法调用者来处理

编译时异常与运行时异常

什么是运行时异常

所有的 RuntimeException 类及其子类称为运行时异常,在编译时不会报错,在运行过程程序终止运行

什么是编译时异常

程序员必须显示处理,否则程序就会发生错误无法通过编译

编译时异常发生的情况

在编译时就必须处理这个异常

这个代码是读取一个文件,在读取时,它也不确定你这个文件是否存在

如果不存在,你要怎么处理,所以在编译时就要确定好

如果文件不存储该怎么样处理

运行时异常与编译时异常的区别

运行时异常,程序员犯的错误,需要回来修改代码

编译时异常在编译某个程序的时候,有可能会有这样那样的错误,

比如文件找不到,这样的异常就必须在编译时处理

如果不处理就编译不通过

相关文章
|
25天前
|
安全 程序员 编译器
【C++】异常
C++异常处理机制允许在程序运行时出现错误时,通过`try`、`catch`和`throw`关键字将错误信息传递回调用栈,进行异常处理。它支持异常的重新抛出、自定义异常体系以及标准库提供的异常类层次结构,如`std::exception`及其派生类。异常处理提高了代码的健壮性和可维护性,但也带来了性能开销和代码复杂性等问题。合理使用异常机制,可以有效提升程序的稳定性和安全性。
43 3
|
7月前
|
SQL 安全 程序员
C++:异常
C++:异常
64 7
|
7月前
|
Java 程序员 数据库连接
|
安全 Java 程序员
c++异常
c++异常
97 0
|
7月前
|
SQL 安全 Java
C++之异常
C++之异常
29 0
|
安全 Java 程序员
C++ 异常
C++ 异常
48 0
|
安全 程序员 C语言
|
安全 Java C语言
【C++】异常,你了解了吗?(二)
在之前的C语言处理错误时,会通过assert和错误码的方式来解决,这导致了发生错误就会直接把程序关闭,或者当调用链较长时,就会一层一层的去确定错误码,降低效率,所以c++针对处理错误,出现了异常,一起来学习!
82 0
|
Java 索引
05-异常
异常:Java代码在运行时期发生的问题叫做异常,当发生问题时,就会创建异常对象并抛出异常信息(异常的原因及位置)
113 0
05-异常
|
编译器
异常的处理
异常处理的方式
104 0
异常的处理

热门文章

最新文章