java 异常处理

Throwable中包括Error 和Exception,Exception包括IOException和RuntimeException

抛出异常

1.异常运算条件  ArithmeticException

2.非法索引访问数组  ArrayIndexOutOfBoundsException

3.将一个错误类型的对象存储到数组中  ArrayStoreException

4.向方法传递了一个不合法的参数  IllegalArgumentException

5.程序试图将字符串转换为一种数值类型,但该字符串不能转换为适当格式  NumberFormatException

6.拒绝访问一个类的时候  IllegalAccessException

7.请求的变量不存在  NoSuchFieldException

8.请求的方法不存在  NoSuchMethodException

异常方法

public String getMessage()

返回关于发生的异常的详细信息。这个消息在Throwable类的构造函数中初始化了

public Throwable getCause()

返回一个Throwable对象代表异常原因

public String toString()

使用getMessage()的结果返回类的串级名字

public void printStackTrace()

打印toString()结果和栈层次到System.err,即错误输出流

捕获异常

try

{

//程序代码

}catch(ExceptionName e1)

{

// catch块

}

将以上放在异常可能出现的地方

多重捕获块就是在一个try后面跟多个catch

throw关键字

如果一个方法没有捕获到一个检查性异常,那么该方法必须使用throws关键字来声明,throws关键字放在方法签名的尾部,

也可以使用throw关键字抛出一个异常,无论它是新实例化的还是刚捕获到的

finally关键字

finally关键字用来创建在try 代码块后面执行的代码块

无论是否发生异常,finally 代码块中的代码总会被执行

在finally代码块中,可以运行清理类型等收尾善后性质的语句

finally 代码块出现在catch 代码块最后,语法如下:

try

{//程序代码}

catch(异常类型1 异常的变里名1)

{//程序代码}

catch(异常类型2 异常的变里名2)

{//程序代码}

finally

{//程序代码}

注意事项:

catch 不能独立于try 存在

在try/catch后面添加finally 块并非强制性要求的

try代码后不能既没catch块也没finally 块

try, catch, finally块之间不能添加任何代码

日常Java 2021/10/5的更多相关文章

  1. 日常Java 2021/10/25

    ArrayList存储数字 import java.util.ArrayList; public class Arr_test { public static void main(String[] a ...

  2. 日常Java 2021/10/21

    Java Iterator(迭代器) 如果需要使用iterator类需要从java.util包中引入它 Java Iterator不是一个集合,它是一种访问集合的方法,用于迭代ArrayList和Ha ...

  3. 日常Java 2021/10/31

    泛型类 泛型类的声明和非泛型类的声明类似,除了在类名后面添加了类型参数声明部分.和迈型方法一样,泛型类的类型参数声明部分也包含一个或多个类型参数,参数间用逗号隔开.一个泛型参数,也被称为一个类型变量, ...

  4. 日常Java 2021/10/30

    Java泛型 Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型.泛型的本质是参数化类型,也就是说所操作的数据类型 ...

  5. 日常Java 2021/10/29

    Java Object类是所有类的父类,也就是说Java的所有类都继承了Object,子类可以使用Object的所有方法. Object类位于java.lang 包中,编译时会自动导入,我们创建一个类 ...

  6. 日常Java 2021/10/28

    Java lterator Java lterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList和HashSet等集合.lterator是Java迭代器最简单的 ...

  7. 日常Java 2021/10/27

    java HashMap HashMap是一个散列表,它存储的内客是键值对(key-value)映射.HashMap实现了Map.接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许 ...

  8. 日常Java 2021/10/24

    Java ArrrayList ArrayList类是一个可以动态修改的数组,没有固定大小的限制,可以在任何时候添加或者删除元素 ArrayList类在java.util包中使用之前需要引用 E:泛型 ...

  9. 日常Java 2021/10/20

    Java提供了一套实现Collection接口的标准集合类 bstractCollection 实现了大部分的集合接口. AbstractList 继承于AbstractCollection并且实现了 ...

  10. 日常Java 2021/10/19

    Java集合框架 Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射. Collection接口又有3种子类型,Li ...

随机推荐

  1. cf20B Equation(认真仔细题)

    题意: 求AX^2+BX+C=0的根 思路: 考虑到A,B,C所有可能的情况 代码: double a,b,c; int main(){ cin>>a>>b>>c; ...

  2. Git 极速上手(超简单)

    前言:本文主要介绍了一种快速入门使用Git的方法,通过四步完成本地仓库构建和推送到远程仓库(Github.Gitee码云),简单说明最常用的命令,不需要明白Git的原理即可使用,本文不介绍具体原理. ...

  3. CentOS7自动备份oracle数据库

    1.环境 操作系统:CentOS 7 数据库:11.2.0.1.0 2.登录服务器 切换oracle用户,备份需要在oracle用户下进行 #su - oracle 在oracle家目录下创建bin目 ...

  4. 第2章-7 产生每位数字相同的n位数 (30分)

    第2章-7 产生每位数字相同的n位数 (30分) 读入2个正整数A和B,1<=A<=9, 1<=B<=10,产生数字AA-A,一共B个A 输入格式: 在一行中输入A和B. 输出 ...

  5. 【JAVA】编程(3)---王狗蛋先生去取钱,发现余额不足 !?!?

    作业要求: 1.写一个名为Account的类模拟账户.该类的属性和方法如下所示: 该类包括的属性: ID,余额balance,年利率; 包含的方法:各属性的set和get方法.取款方法withdraw ...

  6. 面试官:咱们来聊一聊mysql主从延迟

    背景 前段时间遇到一个线上问题,后来排查好久发现是因为主从同步延迟导致的,所以今天写一篇文章总结一下这个问题希望对你有用.如果觉得还不错,记得加个关注点个赞哦 思维导图 思维导图 常见的主从架构 随着 ...

  7. vue+node+mongondb实战之mongodb登陆操作

    页面搭建基本完成,只是样式还没有美化,由于采取的前后端分离开发,所有页面逻辑全部由vue来负责,后台采用express框架只用来提供 接口,注册就是讲数据存入数据库,比较简单,而登陆碰了一些小问题,发 ...

  8. python实现图像二值化

    1.什么是图像二值化 彩色图像: 有blue,green,red三个通道,取值范围均为0-255 灰度图:只有一个通道0-255,所以一共有256种颜色 二值图像:只有两种颜色,黑色和白色,二值化就是 ...

  9. 一些需要记住的linux命令

    1. 系统帮助命令                      ----man 2. 数据同步写入磁盘               ----sync 3. 查找文件命令                  ...

  10. 关于postman的接口登录验证问题

    1.shiro的接口登录问题 碰到需要接口登录验证的:访问项目接口地址login,找到cookie将Cookie数据放入postman的headers 中. 2.碰到 security的项目.首先把相 ...