JAVA异常及其异常处理方式
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(100/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。
常见的异常
输入输出异常:IOException算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException操作数据库异常:SQLException文件未找到异常:FileNotFoundException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException文件已结束异常:EOFException字符串转换为数字异常:NumberFormatException方法未找到异常:NoSuchMethodException
异常处理方式
通过try、catch捕获异常
try{
// 程序代码
}catch(ExceptionName e1){
//Catch 块
}
通过throws抛出异常
定义一个方法的时候可以使用throws关键字声明。使用throws关键字声明的方法表示此方法不处理异常,而交给方法调用处进行处理。
throw关键字抛出异常
throw关键字作用是抛出一个异常,抛出的时候是抛出的是一个异常类的实例化对象,在异常处理中,try语句要捕获的是一个异常对象,那么此异常对象也可以自己抛出。
知识点拓展
try{return;}catch(){}finally{}return;
通过上面这个简短的语句,我们来分析这句话的执行顺序。按照程序的执行顺序,代码段首先进入try语句,因无异常抛出,代码将要return的内容保存在内存中,然后执行finally,因finally中无可执行内容,再转回try中执行return,整个代码段执行结束,而finally后面的return是不会执行的。如果有复杂点的场景欢迎在下方留言,我们一同来分析解答。
1、不管有没有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,不管finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
后记
异常的捕获、抛出和异常处理是维持代码健壮性的重要条件。灵活使用异常及处理,不仅能最大限度的避免出错,也能增加软件的容错机制。
JAVA异常及其异常处理方式的更多相关文章
- 第11章 Java异常与异常处理
1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...
- java异常,异常处理,异常类 关键字:throws 和 throw 自定义的异常类
package cn.kecheng; import java.util.Scanner; /**异常:异常是指在程序的运行过程中所发生的不正常的情况,它会中断正在运行的程序 异常处理机制:java中 ...
- JAVA异常与异常处理详解
一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在java中,阻止当前方法或作用域的情况,称之为异常. java中异常的体系是怎么样的呢? 1.Java中的所有不正常类都 ...
- Java异常及异常处理
如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法.在这种情况下会抛出一个封装了错误信息的对象.此时,这个方法会立刻退出同时不返回任何值.另外,调用这个方法的其他代码也无法继续执行, ...
- Java异常与异常处理
异常体系结构 1.所有异常都继承于Throwable类,其下有两大子类: (1)Error类:错误,一般编程人员不太接触,如虚拟机错误.线程死锁.硬伤:使程序崩溃 (2)Exception类:异常,编 ...
- JAVA异常与异常处理详解【转】
感谢!!!原文地址:https://www.cnblogs.com/knightsu/p/7114914.html 一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在ja ...
- Java面向对象之异常(异常处理方式)
一.基础概念 (1)异常:Java程序在运行时期发生的不正常情况. Java就按照面向对象的思想对不正常情况进行描述和对象的封装. (2)异常问题分类: (Throwable:定义对于问题共性的功能. ...
- Java异常与异常处理简单使用
异常就是程序运行过程中阻止当前方法或作用域继续执行的问题: 任何程序都不能保证完全正常运行,当发生异常时,需要我们去处理异常,特别是一些比较重要的场景,异常处理的逻辑也会比较复杂,比如:给用户提示.保 ...
- Java 异常的处理方式--throws和try catch
异常的第一种处理方式throws. 看以下例子: import java.io.*;public class ExceptionTest04{ public static void main(Stri ...
随机推荐
- Winfrom 定时锁屏
#region 锁屏 public struct LASTINPUTINFO { [MarshalAs(UnmanagedType.U4)] public int cbSize; [MarshalAs ...
- Linq操作之Except,Distinct,Left Join 【转】
最近项目中用到了Linq中Except,Distinct,Left Join这几个运算,这篇简单的记录一下这几种情形. Except 基础类型使用Linq的运算很简单,下面用来计算两个集合的 ...
- vuex store更新了数据,但未触发getters
遇到一个奇怪的问题,我将数组存储在store中,更新数组,第一次会生效,第二次就不会再触发getters,通过检查发现state中的数组是有更新的. 尝试过网上很多的解决办法: 1.getters r ...
- linux环境下,springboot jar启动方式
linux环境下,springboot jar启动方式 一.前台启动(ctrl+c会关掉进程) java -jar application.jar 二.后台启动(ctrl+c不会关闭) java -j ...
- ubuntu python3.5升级3.6后打不开终端的解决办法
ubuntu python3.5升级3.6后打不开终端了. 解决办法如下: 1.Ctrl+Alt+F1进入命令行终端,我的电脑按Ctrl+Alt+F1没反应,按住Ctrl+Alt然后从F1到F5一个个 ...
- 编辑docker容器中的文件
一般docker中没有VI或者其它相应的文本编辑器,为了写个东西安装个vi就可以解决问题,除此之外还有别的办法 登陆docker中找到需要编辑的文件的位置 sudo docker ps -a sudo ...
- python之初入Python
python优缺点: Python的优点很多,简单的可以总结为以下几点. 简单和明确,做一件事只有一种方法. 学习曲线低,跟其他很多语言相比,Python更容易上手. 开放源代码,拥有强大的社区和生态 ...
- 【2】Zookeeper安装
一.环境准备 Linux操作系统 Java运行环境(1.6或以上) 服务器列表: 配置主机名映射. vi /etc/hosts ##添加如下内容 168.5.7.75 server1 168.5.7. ...
- JMeter 控件整理
一个线程组里多个请求的情况下,添加用户参数.如添加random函数,若不勾选“每次迭代更新一次”则每发送一个请求调用一次random函数,勾选上之后,整个线程组运行过程只调用一次random函数.
- ios h5 长按时出现黑色透明遮罩
html,body{-webkit-text-size-adjust: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}