java exception e抛异常_Java-------异常处理try{}catch(){Exception e}finally{}
try{}catch(){}finally{}
异常的概念:Exception
所谓异常就是程序运行过程中出现了意料之外的情况。
Error:错误,无需处理。比如:断电
Exception:异常,需要处理和捕获的
非检查异常(非受检异常、未检查异常):可以避免 不强制必须处理
检查异常(受检异常、已检查异常):不可避免 必须进行异常处理,否则无法通过编译
非检查异常(非受检异常、未检查异常):可以避免,可以编译,但运行时抛出异常
如:ArithmeticException 算术异常
ArrayIndexOutOfBoundsException 数组下标越界异常
NullPointerException 空指针异常
ClassCastException 类型转换异常
InputMismatchException 输入类型不匹配异常
ClassNotFoundException 类没有找到异常
FileNotFoundException 文件没有找到的异常
检查异常(受检异常、已检查异常):不可避免,编译时抛出异常,没法运行
如:Class.forName("A"); //查找类A,加载类A
通常在finally代码块里,放一些释放资源的工作,finally 在程序中无论如何都会被执行
处理异常的方式:
try 是必须有的。catch和finally都可以单独存在,或者二者共存。
break:跳出循环
return:结束方法
finally:try{}语句块必须要执行的代码,遇到return也不例外,除非遇到 System.exit() 才不会执行
System.exit():结束程序
子类的覆盖方法不能比父类的被覆盖方法抛出更多的异常,就是子类抛出的异常不能超过父类。
如果父类抛出的异常是Exception,则子类可以抛出所以的异常
Exception类中定义了一个message属性,并提供了一个
getMessage()方法获得message属性的值,同时提供了一个构造方法对其属性赋值Exception
一:
三种:
1.try{}catch(Exception ex){}finally{}
2.try{}finally{}
3.try{}catch(Exception ex){}
有catch必须要有try,但是有try可以没有catch
二:
声明抛出异常,抛给方法调用处,如果没有方法处理该异常,则最终由JVM来处理
(如果所以得方法调用处都不去捕获和处理异常,最终抛给JVM处理)
public static void main(String[] agrs) throws Exception{}
throws 声明处理异常
throws 后面可以声明多个异常
throws 可以应用父类异常代替子类异常
捕获异常的原则:1.先捕获子类的异常,在捕获父类的异常
2.如果有方法重写,子类重写的方法不能抛出比父类更多的异常(级别)
try{}catch(){}fianlly{} 一个try语句块中,可以有多个catch语句块
try-catch语句块可以嵌套使用
java 的异常继承结构:Throwable包括 Error和 Exception
Error:错误
Exception:程序运行中出现类意料之外的情况
Exception:包括{RuntimeException(非检查性异常)}和{(IO,Network,AWT..)等非检查性异常}
捕获处理异常的方法:
try{
//需要捕获异常的代码
}catch(Exception ex){
//处理异常
ex.printStackTrace(); //打印异常堆栈
}finally{
//必须要执行的语句
//通常放程序释放资源的代码
}
1.用try{}catch(){}处理异常
2.声明抛出异常:public void fun() throws Exception{ }
throws 声明抛出异常
throw 抛出异常对象。 throw new Exception();
注意事项:
1.如果有方法重写,子类重写的方法不能抛出比父类更多的异常
2.处理异常的原则:先捕获子类异常,再捕获父类异常
自定义异常:extends Exception
让自定义异常继承Exception
e.getMessage(); //获得异常消息
e.printStackTrace(); //处理异常
java exception e抛异常_Java-------异常处理try{}catch(){Exception e}finally{}相关推荐
- java 手动抛异常_Java 异常处理 之 手动抛出异常
一.手动抛出异常 throw 在编写程序时,我们必须要考虑程序出现问题的情况.比如,在定义方法时,方法需要接受参数.那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法 ...
- java遇到无穷大抛异常_Java中一个for语句导致无穷大死循环的例子
在Java开发中常用到For循环,它对简化业务处理,提高效率,非常有帮助.但要防止程序算法中可能导致死循环的情况,而且有的死循环还不好察觉.比如下面这个例子,算法极容易认为是50,实际上是无穷大的一个 ...
- java连接mysql抛异常_Java 连接MySQL数据库 插入中文 抛出异常
mysql数据库字符集设为默认: 下面解决好的代码,没乱码,我测试过的 String sContent = new String(request.getParameter("content1 ...
- java事务抛异常_java中抛异常后如何使事务回滚
spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检查型异常则不进行回滚操作 代码中try--catch抛出的Exception异常,属于检查型异常,Spring的框架默认是不 ...
- java 异常捕获抛出_JAVA异常处理捕获与抛出原理解析
JAVA 异常 当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常.异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常. 这个时候,JAVA 就提供了优秀的处理方法:异常处理 ...
- java中飞飞检查异常_Java复习6异常处理
Java复习6.异常处理 20131005 前言: Java中的异常处理机制是非常强大的,相比C++ 来说,更加系统.但是我们开发人员没有很好的使用这一点.一些小的程序是没有什么问题的,但是对于大型项 ...
- java 可控异常_java异常处理,重新认识java异常,java7异常处理的新特性!
原标题:java异常处理,重新认识java异常,java7异常处理的新特性! 在程序中,错误可能产生于程序员没有预料的各种情况,或者是超出了程序员可控范围的环境因素,如用户的坏数据.试图打开一个根本不 ...
- java 向上抛异常_java throws 向上抛出的概念问题
展开全部 ------------------附注------------------------ 向上抛出的意思 针对 子类 父类, 这里面涉及到几个方面,最重323131333532363134 ...
- java runtime 异常_Java中RuntimeException和Exception
在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常. 所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类 不 ...
- JAVA捕捉输入格式异常_Java学习(四).异常处理
异常处理 任何一个软件或程序都可能在运行的过程中出现故障,问题的关键是故障出现以后如何处理?谁来处理?怎样处理?处理后系统能否恢复正常的运行?本章在介绍Java处理这类问题基本方法的基础上,讨论包含异 ...
最新文章
- swing 圆角按钮_JFrame实现圆角窗体
- fcm和firebase_我如何最终使Netlify Functions,Firebase和GraphQL一起工作
- mysql left join两个表,mysql left join 多个表
- 数据结构(二):线性表包括顺序存储结构(顺序表、顺序队列和顺序栈)和链式存储结构(链表、链队列和链栈)...
- emmc固件开发_UP2开发板简易开箱(二)
- 另类玩法:通过 DNS 进行文件传输
- 外设单独编址与统一编址
- 慎用PHP $_REQUEST数组
- idea一键导包快捷键_十三肝了2晚的《IDEA操作手册-终极秘籍》终于来了...
- 什么是AWT_Swing_Vector?居然这么高频使用
- dc dc变换器的建模及matlab仿真,巧用Matlab仿真DC—DC变换器
- vue 创建项目之vue init webpack xxx
- ffmpeg 命令转为 avi,mp4,h264, yuv
- CS academy Binary Flips(dp)
- 平均值,标准差,方差,协方差,期望,均方误差
- 关于手机-Android版本-基带版本,连续点击六次进入工厂模式。自定义版本点五次动态隐藏显示某应用。
- excel高级筛选怎么用_Excel高级筛选系列教程(完整版)-第一期基础功能介绍
- 深圳政府发文:采取SA模式建设的5G基站,每个奖励1万元
- EFT4 生成实体类
- 找出最接近的对称数字