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{}相关推荐

  1. java 手动抛异常_Java 异常处理 之 手动抛出异常

    一.手动抛出异常 throw 在编写程序时,我们必须要考虑程序出现问题的情况.比如,在定义方法时,方法需要接受参数.那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法 ...

  2. java遇到无穷大抛异常_Java中一个for语句导致无穷大死循环的例子

    在Java开发中常用到For循环,它对简化业务处理,提高效率,非常有帮助.但要防止程序算法中可能导致死循环的情况,而且有的死循环还不好察觉.比如下面这个例子,算法极容易认为是50,实际上是无穷大的一个 ...

  3. java连接mysql抛异常_Java 连接MySQL数据库 插入中文 抛出异常

    mysql数据库字符集设为默认: 下面解决好的代码,没乱码,我测试过的 String sContent = new String(request.getParameter("content1 ...

  4. java事务抛异常_java中抛异常后如何使事务回滚

    spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检查型异常则不进行回滚操作 代码中try--catch抛出的Exception异常,属于检查型异常,Spring的框架默认是不 ...

  5. java 异常捕获抛出_JAVA异常处理捕获与抛出原理解析

    JAVA 异常 当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常.异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常. 这个时候,JAVA 就提供了优秀的处理方法:异常处理 ...

  6. java中飞飞检查异常_Java复习6异常处理

    Java复习6.异常处理 20131005 前言: Java中的异常处理机制是非常强大的,相比C++ 来说,更加系统.但是我们开发人员没有很好的使用这一点.一些小的程序是没有什么问题的,但是对于大型项 ...

  7. java 可控异常_java异常处理,重新认识java异常,java7异常处理的新特性!

    原标题:java异常处理,重新认识java异常,java7异常处理的新特性! 在程序中,错误可能产生于程序员没有预料的各种情况,或者是超出了程序员可控范围的环境因素,如用户的坏数据.试图打开一个根本不 ...

  8. java 向上抛异常_java throws 向上抛出的概念问题

    展开全部 ------------------附注------------------------ 向上抛出的意思 针对  子类 父类, 这里面涉及到几个方面,最重323131333532363134 ...

  9. java runtime 异常_Java中RuntimeException和Exception

    在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常. 所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类 不 ...

  10. JAVA捕捉输入格式异常_Java学习(四).异常处理

    异常处理 任何一个软件或程序都可能在运行的过程中出现故障,问题的关键是故障出现以后如何处理?谁来处理?怎样处理?处理后系统能否恢复正常的运行?本章在介绍Java处理这类问题基本方法的基础上,讨论包含异 ...

最新文章

  1. swing 圆角按钮_JFrame实现圆角窗体
  2. fcm和firebase_我如何最终使Netlify Functions,Firebase和GraphQL一起工作
  3. mysql left join两个表,mysql left join 多个表
  4. 数据结构(二):线性表包括顺序存储结构(顺序表、顺序队列和顺序栈)和链式存储结构(链表、链队列和链栈)...
  5. emmc固件开发_UP2开发板简易开箱(二)
  6. 另类玩法:通过 DNS 进行文件传输
  7. 外设单独编址与统一编址
  8. 慎用PHP $_REQUEST数组
  9. idea一键导包快捷键_十三肝了2晚的《IDEA操作手册-终极秘籍》终于来了...
  10. 什么是AWT_Swing_Vector?居然这么高频使用
  11. dc dc变换器的建模及matlab仿真,巧用Matlab仿真DC—DC变换器
  12. vue 创建项目之vue init webpack xxx
  13. ffmpeg 命令转为 avi,mp4,h264, yuv
  14. CS academy Binary Flips(dp)
  15. 平均值,标准差,方差,协方差,期望,均方误差
  16. 关于手机-Android版本-基带版本,连续点击六次进入工厂模式。自定义版本点五次动态隐藏显示某应用。
  17. excel高级筛选怎么用_Excel高级筛选系列教程(完整版)-第一期基础功能介绍
  18. 深圳政府发文:采取SA模式建设的5G基站,每个奖励1万元
  19. EFT4 生成实体类
  20. 找出最接近的对称数字

热门文章

  1. python split函数 空格_最易懂的Python新手教程:从基础语法到代码详解
  2. JavaScript中的prototype(Notes)
  3. ES 集中式日志分析平台 Elastic Stack(介绍)
  4. [LeetCode] Majority Element II
  5. 关于近期对自己的总结
  6. Git与GitHub学习笔记(六)使用 Github Pages 管理项目文档
  7. GoldenGate应用拓扑结构(三)
  8. Dell做RAID配置图文全教程
  9. 分享一下淘宝iData技术嘉年华的几点感触
  10. 红帽:IaaS与PaaS齐头并进