1.定义:字面意思,不同于常规,也就是说,某段代码可能不正常,会出现问
题;
2.异常通常分为三级结构,第一级为Throwable,第二级为Error和Exception
第三级为Error下面对应的子类,以及Exception下面对应的子类;通常我们
只研究Exception下面的子类;
3.Exception分类:
a) RuntimeException(运行时异常、UnCheckedException)):
此种异常在编译前不检查异常,程序中可以选择捕获处理,也可以不处理;
b) 非运行时异常(CheckedException):
此种异常理论上是必须进行处理的异常,如果不处理,程序就不能编译通过;
4.参考:常用的运行时异常与非运行时异常
运行时异常:
非运行时异常:
5.异常处理的几种方式:
a) try...catch...finally 来处理异常
try{ //可能出现异常的代码 //不会出现异常的代码(如果发生异常,则这部分代码不会被执行) }catch(Exception ex){ //如何处理异常 }finally{ //必须执行的代码 }
b) 在方法名后使用throws 异常 的方式来系统自己处理异常;
这种处理异常需要考虑一个问题,就是需要处理的异常是检查性异常,还是
非检查性异常,如果是检查性异常,则必须使用try...catch进行处理,否则
编译不会通过,如果是非检查性异常,则可以选择性的使用try...catch进行
处理,如果不处理,抛到main方法时,JVM会自行处理异常
c) throw 异常 此方法手动抛出异常,也需要考虑到两种情况,但是一般我们都会
将此方法和try...catch一起使用;
检查性异常: 必须使用try...catch进行处理,否则编译不会通过
非检查性异常:可以选择性的使用try...catch进行处理,如果不处理,
抛到main方法时,JVM会自行处理异常
6.自定义异常
可以继承Exception也可以继承Throwable
ep:
class MyException extends Exception{ public MyException(){} public MyException(String message){ super(message); } }
完整代码:
package com.ahuiby.test; class MyException extends Exception{ public MyException(){} public MyException(String message){ super(message); } } public class Test { public static void main(String[] args) { int age=250; try{ if(age>150||age<0){ throw new MyException("年龄越界异常"); } }catch(MyException me){ me.printStackTrace(); } } }
相关推荐
代码随想录知识星球精华-大厂面试八股文v1.1 代码随想录知识星球精华-大厂面试八股文v1.1 代码随想录知识星球精华-大厂面试八股文v1.1 代码随想录知识星球精华-大厂面试八股文v1.1 代码随想录知识星球精华-大厂面试...
多因子模型是一种统计模型,用于分析和解释股票收益的来源,通常用于投资组合管理和金融工程领域。该模型的基本思想是将股票的收益分解为一系列因子(如市场因子、规模因子、价值因子、动量因子等)的线性组合加上一...
用户可以在记录中写下自己的解题思路、关键代码和总结等内容,方便日后回顾和复习。 ## 刷题笔记记录的优点 刷题笔记记录有以下几个优点: - 帮助用户更好地理解和掌握题目解法 - 促进用户对算法和数据结构的深入...
【代码随想录最新第三版-最强八股文】是一份综合性的IT学习资料,包含了程序员面试必备的知识点,尤其适合准备大厂面试的求职者。这份文档详细涵盖了多个编程语言、算法、计算机基础和软件工程领域的重要概念,旨在...
《代码随想录-最强八股文(第五版)》是一部综合性的编程知识合集,旨在帮助程序员,尤其是面试者,提升在前端、后端以及Java和Go等领域的技术素养。这一版本的内容涵盖了大量的面试常见问题,是程序员们准备技术...
总结而言,整篇教学设计以《平凡的魅力》为核心,通过多元化的教学手段,让学生在轻松愉悦的氛围中,不仅学习到语文知识,更能体会到生活与人生的哲理。在对平凡生活肯定的同时,激励学生发现和创造生命中的不平凡,...
代码随想录贪心算法知识,非常管用
《代码随想录》通过实例引导读者逐步掌握这些知识,每个算法都会配合C++代码进行详细解释,使读者能够在实践中巩固理论知识。这本书是提升编程思维、熟练运用C++解决实际问题的理想教程。通过阅读和实践书中的例子,...
二叉树遍历
从给定的文件信息来看,「代码随想录」动态规划专题精讲(v1.2).pdf 的内容涉及到编程算法中的动态规划专题的精讲。动态规划(Dynamic Programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息...
2015-04_P292 软件随想录.pdf 1
随想出题是一款专为教育领域设计的软件,其免费版提供了基础的试题生成与管理功能,旨在帮助教师和学生更便捷地进行教学活动。这款软件的核心特点是简单易用,功能实用,尤其适合家庭学习和课堂教学环境。 1. **...
计算机基础知识汇总 计算机基础知识汇总可以分为六大块:组成原理、操作系统、数据库、编译原理、计算机网络、数据结构,以及分布式基础知识。 1. 组成原理 计算机组成原理是计算机专业的基础知识,包括冯诺依曼...
通过学习《代码随想录》,你可以系统地了解和掌握这些基础知识,为面试和工作中的问题解决做好准备。 书中可能包含以下核心知识点: 1. **基础数据结构**:数组、链表、栈、队列、哈希表、二叉树等。理解这些数据...
一些基本问题如何时选择数组或链表、散列函数的工作原理、递归的概念、算法复杂度的理解以及如何实现冒泡排序和二分查找等,都是衡量是否掌握这些基础知识的标准。对于不熟悉这些概念的新手,建议阅读经典的算法和...