首页 > 其他 > 详细

异常的概念

时间:2020-01-22 22:49:57      阅读:73      评论:0      收藏:0      [点我收藏+]

程序正常的情况下可以有顺利运行,遇到用户非法输入,文件找不到磁盘空间已满、数据库连接错误等问题,如果程序不处理,就会崩溃。

异常的类型

1,异常的根类型:java.lang.Thtowable

只有它或它的子类类型,才能用于catch(异常类型e)语句中的异常类型,用于“捕获异常”

换句话说,如果要自定义异常,必须继承Throwable或他的子类

2、Throwable的两大子类:Error和Exception

Error:合理的应用程序不应该通过捕获来解决的严重错误。例如:VirtualMachineError虚拟机错误(StackOverflowError栈溢出,OutOfMemoryError堆内存溢出)

Exception:合理的应用程序应该通过代码避免或捕获来解决的异常。

3、Exception的两大类:编译时异常和运行时异常

  • 运行时异常:RuntimeException或它的子类

    • 例如:ArrayIndexOutOfBoundsException数组下标越界异常

    • 例如:NullPointerException空指针异常

    • 例如:ClassCastException:类型转换异常

    • 例如:ArithmeticException:算术异常

    • 例如:InputMismatchException:输入不匹配异常

    • 例如:NumberFormatException:数字格式化异常

  • 编译时异常:除了运行时异常都是编译时异常

    • 例如:IOException:输入输出异常

    • 例如:FileNotFoundException:文件找不异常

    • 例如:SQLException:sql执行错误

 和异常相关的几个关键字

1,try:尝试执行可能会发生异常的代码

2,catch:尝试捕获try中发生的异常,

3,finilly:无论try中是否发生异常,也无论catch是否可以捕获异常,也不管try和catch中是否有return语句,都要执行,除非在try或catch中执行了System.exit(0)语句

4,throw:用于手动抛出异常

5,throws:表示某个方法内部都没有处理xx异常,抛给调用者处理,在方法的签名中,显示声明抛出哪些异常

自定义异常

1、必须继承Throwable或它的子类,一般继承Exception或RuntimeException

2、尽量保留两个构造器:无参和有参(message)

3、加序列化版本ID

4、自定义异常类型的对象只能使用throw语句抛出

异常的概念

原文:https://www.cnblogs.com/Objecting/p/12229739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!