python类型转换异常捕捉_Java中的异常
异常的概念:
异常(exception也称例外)就是在程序运行过程中所发生的不正常的事情,
他会终止程序的运行。
1.所需的文件找不着
2.网络连接不通或者中断
3.算数运算符的错误参数
4.数组下标越界
5.装载一个不存在的类或者null对象操作
6.类型转换异常...
当java程序出现以上异常的时候就会在所处方法中产生一个异常的对象
这个异常的对象包括异常的类型,异常出现时程序的运行状态以及该异常的详细我描述
在java程序中所有异常和error的父类是Throwable直接继承Object
error是程序本身无法恢复的严重错误
exception是程序中可以处理的异常
1.运行时异常(有可能产生也有可能不产生)
2.Check的异常(不处理编译无法通过,也叫编译时异常)
异常的处理方式之捕捉异常:
1.try -catch- finally的使用
1-try-catch组合
1--正常情况:try 及以后的代码,不执行catch
2--异常情况:出现类型和捕获类型相匹配
catch(exception e){//
e.printstackTrance();
}
再捕捉到异常的时候由java虚拟机创建对象,体现了多态,父类引用指向子类对象
Exception e = new ArithmeticException();然后继续执行以后程序,程序不会中断
3--异常不匹配情况:异常exception e不匹配,程序中断,后面程序就不在运行。
2-try-finally组合;
1--正常情况:程序正常运行,执行finally代码
2--异常情况:在执行完毕finally代码之后程序报错,程序中断
3--特殊情况不执行finally:system.exit(0);
3-try-catch-finally
1--正常情况:执行try-finally
2--异常情况:类型相匹配执行try-catch-finally 按顺序执行
3--异常情况:类型不相匹配,执行try-finally
如果catch中存在return语句则先执行完finally语句后再执行return语句(结束方法)
异常的处理方式之声明异常:(throws)
方法名的后面,用于声明该方法可能会产生一个异常,如果方法声明的
是一个Exception异常或者是checkedException异常,要求方法的调用出必须做处理
1.继续使用throws向上声明(方法的调用处)
2.使用try-catch-finally进行处理
如果方法声明但是runtimeException的异常,那么方法的调用可不处理
继承关系中的声明异常:
1.父类的方法声明了Exception类型的异常,子类再重写方法的时候,可以声明
也可以不声明,但是如果子类重写之后的方法使用super关键字调用父类的方法,
那么必须要求对异常进行处理。
2.如果父类方法没有异常,那么子类的方法如果一定要有Exception异常或者是checkedException异常
那么子类必须自己进行try-catch-finally解决或者给父类声明异常。
3.如果子类在重写父类方法是产生的是runtimeException那么也可以不用处理
throw抛出异常对象写在方法里
在捕获一个异常之前必须有一段代码先生成异常对象并把它抛出,这个过程我们
可以手工做也可以由JRE来实现,他们调用的都是Throw子句
throws与throw的区别
1.throws用于声明方法可能会产生的类型异常,throw手动抛出一个异常对象!!
2.位置不相同,throws写在方法名后面,throw用于写在方法里。
常见的异常和解决方法(加入判断)
1.运行时异常runtimeException
1-算术异常:ArithmeticException(除数不为0)
2-空指针异常:NullPointerException(没有创建对象就调用了对象的属性或方法String str=nul;)
3-类型转换异常;ClassCastException(向下类型转换Animal dog = new Dog Cat cat = (cat)dog
用instanceof判断是否属于一个类型返回boolean)
4-数组下标越界异常:ArraysIndexOutOfBoundsException(判断是否<arr.length
否则输出数组下标超出边界)
5-期望的数据类型和实际输入的类型不匹配:InputMismatchException!!!(判断输入的是否是整数
的时候用input.hasNextInt(),判断你输入的时候是否是整数)
2.检查时异常CheckedException(必须做处理n多异常的总称)
1-SQLException(throws向上声明或者使用try-catch-finally)
2-IOException(throws向上声明或者使用try-catch-finally)
3-ParseException(throws向上声明或者使用try-catch-finally)
自定义异常:
为什么要定义自定义异常?
在程序中,可能会遇到任何标准异常类都无法描述清楚的问题,这种情况下创建自己的
异常类
自定义异常的步骤:!!!
1.继承Exception或者RuntimeException
2.定义构造方法
3.使用异常
python类型转换异常捕捉_Java中的异常相关推荐
- java 异常 日志_java中的异常、断言、日志(一)
1.Java异常处理i.异常的概念和Java里面的异常体系结构1)基本概念:程序中的异常,一般成为例外情况,可以理解为是非正常情况,其他编程语言里面也有这样的情况,Java里面同样存在这样一个体系结构 ...
- java 异常 理解_java中的异常理解
java异常是java提供的用于处理程序中错误的一种机制. 所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在). 设计良好地程序应该在程序异常发生时提 ...
- Java中非法参数的异常_Java中的异常
异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常. ...
- java中exception作用_java中的异常Exception的划分,以及他们的特性。
1.异常分为编译时异常(ExceptionSubclass)和运行时异常(RuntimeException): 2.编译时异常的发生概率高,而运行时异常的发生概率比较低,因此编译时在编写代码时应该处理 ...
- java编译异常有哪些_java 中 哪些异常必须声明并捕获,否则产生编译错误
RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类. 可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws ...
- java异常面试_java中异常的面试
https://blog.csdn.net/qq_36523638/article/details/79363652 1) Java中的检查型异常和非检查型异常有什么区别? 这又是一个非常流行的Jav ...
- java的异常有哪些类_Java中的异常类型有哪些
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...
- java常见检查异常_java中常见异常总汇,附解释
Java Exception: 1.Error 2.Runtime Exception 运行时异常 3.Exception 4.throw 用户自定义异常 异常类分两大类型:Error类代表了编译和系 ...
- java 异常 中文_Java中所有的运行时异常,带中文解释
展开全部 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:Negat ...
最新文章
- 从零开始学python电子书-从零开始学Python程序设计 PDF
- 01背包、完全背包、多重背包
- MIP 技术交流分享(3月15日)
- 追加画面文言时注意【×硬换行】与【○软换行】
- 中兴F803/804 ONU实现端口间计算名(基于netbios协议)互通
- 复旦计算机学院软件工程,2019年复旦961软件工程专硕考研初试363+复试经验分享...
- hive三种建表语句
- mysql当前时间的本月_mysql 获得当前月1号的日期 和 0点日期方法
- 数据路:三人行,必有我师!
- 第五章:电子表格系统Excel 2010——知识点整理
- Udacity CH2中.bag 文件解析
- linux下创建1G的文件,Linux/UNIX: 使用 dd 命令创建 1GB 大小的二进制
- 数理统计——样本分布
- 四年级计算机教学总结,四年级信息技术教学工作总结
- Chrome内核浏览器显示【您的时钟快了,您计算机的日期和时间不正确】解决办法
- detached entity passed to persist问题与解决方案
- 弱电计算机网络系统技术交底,弱电综合布线施工技术交底.doc
- 2022 CCF BDCI数字经济创新应用案例大赛决赛晋级名单
- 记STM32之PWM学习笔记 ---PWM原理
- Windows系统下进行NIST测试
热门文章
- 使用聚合的方式实现静态代理
- 决策树可视化,被惊艳到了!
- 面试官:Mysql 中主库跑太快,从库追不上怎么整?
- 细思恐极,插上U盘就开始执行Python代码的程序
- 一年毕业 5000 多博士,发 18000 多篇 SCI,这所“双非”高校实力不输清北!
- android addview指定位置,Android开发中,请问当在一个视图中addView另一个布局视图时为什么报错?...
- Python代码列主元消去法matlab编程_工业机器人用什么语言编程的?
- 计算机英语基础课程论文,计算机专业英语课程教学论文
- 树形结构:迭代方式遍历树,宽度优先,先序遍历,中序遍历,后序遍历
- leetcode-14-最长公共前缀