博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
复习Java异常处理&Java面试题List和Set的区别,Array和ArrayList的区别&生活【记录一个咸鱼大学生三个月的奋进生活】008
阅读量:2059 次
发布时间:2019-04-29

本文共 1734 字,大约阅读时间需要 5 分钟。

记录一个咸鱼大学生三个月的奋进生活008

复习Java(异常处理)

不寻常的事就是异常,并不只是错误,异常处理是Java语言健壮性的体现。

异常分类

这时候就可以去我之前的帖子: 回顾一下Error和Exception的区别

接下来我从生活中再举个例子对应一下Java中的异常处理,更方便大家理解

生活中异常可以分为:灾难(不能处理的) 能处理的 异常。

这就对应了Java的Throwable类 中的: Error(不能解决的系统错误) Exception(能解决的)异常。

其中 能解决的异常 又可以分为:错误(必须要处理的) 小毛病(可处理可不处理的)

这又对应了 Exception 中的:checked(必须要处理的) unchecked(依据需求选择处理的)

常见的异常及其含义

RuntimeException —— java.lang包中多数异常的基类

ArithmeticException —— 算术错误,如除以 0

IllegalArgumentException —— 方法收到非法参数

ArrayIndexOutOfBoundsException —— 数组下标出界

NullPointerException —— 试图访问 null 对象引用

SecurityException —— 试图违反安全性

ClassNotFoundException —— 不能加载请求的类

AWTException —— AWT中的异常

IOException —— I/O异常的根类

FileNotFoundException —— 不能找到文件

EOFException —— 文件结束

IllegalAccessException —— 对类的访问被拒绝

NoSuchMethodException —— 请求的方法不存在

InterruptedException —— 线程中断

异常处理方法(try、catch、throw、throws、finally)

处理方法:

1、要么在相关的方法中提供所需代码来直接处理抛出的异常。(catch)

2、要么根本不去理会它,在抛出异常代码的方法把这个异常向上抛出给该方法的调用代码。(throw)

try、catch的用法:

try {
可能发生异常的语句; } catch (异常原因 e){
发生异常之后的处理代码; }
// 例子:	try {
System.out.println(57 / 0); } catch (Exception e){
System.out.println("除数为0 错了!"); }

throw、throws的用法:

即使你在一个catch中处理了异常,但是在许多情况下,调用的程序需要知道这种异常发生的情况。

如果你需要把自己捕获的异常传递给调用的程序时可以使用throw语句在catch块中把它再次抛出,此时该方法的声明部分添加throws和异常类型。

// 例子:	public void test() throws Exception{
try {
System.out.println(57 / 0); } catch (Exception e){
throw e; } }

finally的用法:

无论是否出现异常,finally块都将运行,确保了在出现异常时所有清除工作都将得到处理,与 try 块一起使用。

异常对象的常用方法

用于打印异常信息的方法:

toString() —— 返回异常的信息

getMessage() —— 返回消息的内容,说明当前的异常

printStackTrace() —— 此方法把消息和栈跟踪记录输出到标准输出流,对于控制台程序,这个输出流就是屏幕

学习Java面试题(List和Set的区别,Array和ArrayList的区别)

List和Set的区别

Array和ArrayList的区别

健身

今天看着卡路里消耗不咋样但是汗如雨下,舒服了舒服了

照片分享

摄于广州,当时找角度找了很久

2021.06.08  by wyh

转载地址:http://znalf.baihongyu.com/

你可能感兴趣的文章
Centos7 离线安装RabbitMQ,并配置集群
查看>>
Centos7 or Other Linux RPM包查询下载
查看>>
运行springboot项目出现:Type javax.xml.bind.JAXBContext not present
查看>>
Java中多线程向mysql插入同一条数据冲突问题
查看>>
Idea Maven项目使用jar包,添加到本地库使用
查看>>
FastDFS集群架构配置搭建(转载)
查看>>
HTM+CSS实现立方体图片旋转展示效果
查看>>
FFmpeg 命令操作音视频
查看>>
问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题
查看>>
目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
查看>>
问题:Mysql中字段类型为text的值, java使用selectByExample查询为null
查看>>
程序员--学习之路--技巧
查看>>
解决问题之 MySQL慢查询日志设置
查看>>
contOS6 部署 lnmp、FTP、composer、ThinkPHP5、docker详细步骤
查看>>
TP5.1模板布局中遇到的坑,配置完不生效解决办法
查看>>
PHPstudy中遇到的坑No input file specified,以及传到linux环境下遇到的坑,模板文件不存在
查看>>
TP5.1事务操作和TP5事务回滚操作多表
查看>>
composer install或composer update 或 composer require phpoffice/phpexcel 失败解决办法
查看>>
TP5.1项目从windows的Apache服务迁移到linux的Nginx服务需要注意几点。
查看>>
win10安装软件 打开时报错 找不到 msvcp120.dll
查看>>