`
929118967
  • 浏览: 20242 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
博客专栏
Fcebf22e-9505-38db-b3f2-65fdcc3fd6a5
java开发的深入浅出
浏览量:6906
文章分类
社区版块
存档分类
最新评论

java笔记之异常

 
阅读更多

前言

exception是java中的完美机制之一。方法在完成过程中由于某种原因而不能正常的达到目的,这样的现象称为异常。
本文主要介绍异常的处理方式,异常的分类,自定义异常。

正文

异常的处理方式

1.抛异常:
在发生的方法行为中,将异常传递出去,交由其他地方处理。
1)语法
修饰符 放回值类型 方法名(参数列表) throws 异常类名,异常类名{
//类体
}
}catch(异常类名 变量名){
//异常的处理,替代方案
}
2.捕捉异常
异常在方法中发生后,立即对其采取处理。
1)语法
try{
//语句块
}catch(异常类名 变量名){
//异常的处理,替代方案
}catch(异常类名 变量名){
//异常的处理,替代方案
}finally{
//代码块
}
注:
1)捕捉异常的优先顺序
catch块中是需要捕捉的异常,捕捉按照小类型到大类型的顺序捕捉,不能倒置;
如果捕捉的异常存在继承关系,应该先捕捉小类型,再捕捉大类型的异常。若不存在继承关系,那么无捕捉的优先顺序。
2)try,catch,finally的个数
try只能有一个;catch可以有,也可以没有;finally也可以有没有;
但catch和finally至少出现一个。
3)catch块的执行顺序
如果在捕捉异常的过程中,若有多个catch块,按照从上到下的顺序执行catch块;
若有一个catch块被执行,其他catch就不会被执行;finally总是会被执行。

小结

抛异常和捕获异常的区别:
1)捕获异常:当前行为发生异常之后,能够寻求替代方案,继续完成当前的行为。
2)抛异常:当行为发生异常之后,在当前行为中,无法寻找替代方案,需要将异常抛出。

产生异常

1)语法
throw new 异常类名();
注:
1))有很多的异常在API中已产生
1))根据异常采取的处理方式
a) try{
//代码块
}catch(异常类型 变量名){
}catch(异常类型 变量名){
}finally{
}
b)抛异常:在方法定义中声明throws异常类名。
补充:发生异常,代码以后的执行顺序。
1)如果使用try{}catch 方式处理异常,当前代码位于try块中;如果当前代码发生了异常后,在try块且位于当前代码之后的代码不会被执行,直接进入catch块中;执行完catch块,继续执行后面的代码。
2)若使用throws处理异常时,当前代码在执行过程中发生异常之后,位于当前代码以后的所有语句都将不会被执行。
例子
<script src="https://code.csdn.net/snippets/274731.js" type="text/javascript"></script>


异常分类


自定义的异常

目的:
能够给用户提供更准确的提示信息,改善用户体验。
1)如何自定义异常
1))需要继承异常父类(Exception或RuntimeException)
2))提供对应的构造器
3))在对应的构造器调用父类对应的构造器
2))自定义异常示例:
<script src="https://code.csdn.net/snippets/274898.js" type="text/javascript"></script>

总结

1.异常的选择:
跟内存有关的异常,通常使用运行时异常;
跟内存以外有关的异常,通常使用编译时异常。
2编译时异常与运行时异常的语法检查区别
1).编译时异常
.编译时异常,如果没有产生异常,就不能去捕捉。在IDE中,如果产生捕捉时将提示如此信息:
Unreachable catch block for ActivationException. This exception is never thrown from the try statement body。
示例图片:

2).运行时异常
1))运行时异常,可以在没产生异常时,在代码中可以进行捕获。
2))因为运行时异常不参与语法检查;
3))运行时异常无论在代码中产生异常或者处理异常都可通过语法检查。
3。编译时异常的javac过程的语法检查步骤:
1)检查代码中是否有异常产生
2)检查异常是否被处理。
注:
以上两步缺一不可,如果缺失就会提示语法错误。


分享到:
评论

相关推荐

    java笔记.zip

    2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 枚举类 2020-4-10 java 注解(Annotation) 2020-4-11 Java 集合 2020-4-15 java 泛型...

    观看韩顺平学习整理java的笔记到异常

    帮助大家复习java基础知识其中有 hashCode 2 toString 2 finalize 2 用已学知识做出简单的房屋出租系统 3 类方法使用注意事项和细节讨论 4 main()方法 4 代码块 4 代码块使用注意事项和细节 5 单例模式 6 final...

    Java学习笔记,异常机制

    Java学习笔记,异常机制

    Java学习笔记之异常

    详细的介绍了异常机制的用法,以及其应用,包括面试会遇到的一些题目等,让我们更牢固的掌握Java语言。谢谢

    狂神说Java笔记资料

    狂神说Java笔记PDF文档。内容包括JAVA入门、基础语法、流程控制、方法、数组、面向对象、异常机制、常用类、集合框架、IO流、多线程、网络编程、Gui编程、注解和反射。

    Java入门笔记5_异常

    Java入门笔记5_异常

    Java学习笔记7.0

    《Java JDK6学习笔记》是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型...

    达内Java培训-CoreJava全程笔记(WORD唐亮版)

    CoreJava DAY15 异常、断言 52 CoreJava DAY16 反射、注释 57 CoreJava DAY17 GUI 64 CoreJava DAY18 awt event 81 CoreJava DAY19-20 多线程 85 CoreJava DAY21-22 IO 95 CoreJava DAY23 网络编程 107

    韩顺平讲解的java异常笔记

    韩顺平讲解的java异常笔记

    Java学习笔记

    自己在java学习过程中的笔记,从最基础的创建java环境,java的基础知识,java变量的内存存储过程,到容器,异常,多线程等都有详尽涉及。 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里...

    java学习笔记 达内笔记(经典)

    (二)面向对象技术总结.pdf (三)corejava高级特性总结 (四)接口学习总结 (五)异常和内部类 (六)集合框架学习总结 (七)GUI和AWT事件模型 (八)多线程学习总结 (九)输入输出流学习总结 (十)网络编程学习总结

    java笔记 异常 多线程

    各方面搜集的 。有处理异常的,多态问题。。

    Java基础课堂笔记

    Java基础笔记, 第一章:编程基础 第二章:数组 第三章:面向对象程序开发 第四章:异常机制 第五章:多线程技术 第六章:常用类API 第七章:集合框架(容器)+其他类对象使用 第八章:IO流 第九章:GUI编程 第十章...

    Java异常详解_动力节点Java学院整理

    Java异常详解_动力节点Java学院整理,动力节点口口相传的Java黄埔军校

    CoreJava笔记

    CoreJava笔记 CoreJava DAY01 Java概述 1 CoreJava DAY02 数据类型和控制结构 6 CoreJava DAY03 数组 11 CoreJava DAY04 15 CoreJava DAY05 面向对象 17 CoreJava DAY06 类的加载过程、实例化、继承、多态 20 Core...

    瑜琅java学习笔记

    1 java起源 2 java语言概述 3 简单(基本)数据类型 4 运算符:java有四大类运算符:算数运算、位运算、关系运算和逻辑运算 5 程序控制语句 6 介绍类:类是java的核心和本质 7 深入方法和类:方法重载、参数传递和递归...

    Java学习笔记之异常处理

    主要为大家详细介绍了Java学习笔记之异常处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java学习笔记-超强笔记

    格式: [ 修饰符 ] 返回类型 方法名( 参数列表 ) [ throws 异常 ] { ······ } java中所有参数都是值传递。 当没有值返回时,返回类型必须被定义为void。 返回类型必须与方法名相邻,其他修饰符...

    Java学习笔记(必看经典)

    本书是作者近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型、J2SE中标准的API等均进行了...

    java学习笔记——异常

Global site tag (gtag.js) - Google Analytics