Java的异常处理基础
来源:互联网 发布:淘宝为什么要交保证金 编辑:程序博客网 时间:2024/06/05 00:20
先看张Java中的异常层次结构图(图来自《Java核心技术 卷1》):
可以看到不管Error还是Exception都继承自Throwable类。
Error和Exception有什么区别:
Error主要是系统的内部的错误(比如JVM出问题了)和资源耗尽错误(内存空间不足),程序无法处理这类问题,只能终止。
Exception表示程序可以处理的异常,下面看下IOException和RuntimeException的区别。
RuntimeException是因为程序员自身的问题导致的,常见的有:
ArrayIndexOutOfBoundsException,ArithmaticException,NullPointerException。。。
IOException不是程序本身的问题,比如你读个文件,本来应该有的,结果不知道被谁删了,结果就FileNotFoundException。其它还有EOFException,MalformedURLException之类。。。
下面再来区分两个概念(好多概念。。。):
未检查异常:将派生于Error类或RuntimeException的所有异常归为未检查异常,编译器不会检查是否为该种异常提供异常处理,作为程序员也不应该去处理。
已检查异常:未检查异常之外的就叫已检查异常,编译器会检查是否为该种异常提供异常处理。
接着再看几组概念(。。。):
throws:声明一个方法可能抛出的所有异常信息,出现在方法头,只声明不处理,将异常往上传,谁调用该方法就交给谁处理。
throw:出现在方法体内,你自定义的异常一定要用throw抛出,程序会在throw语句后立即终止,一旦方法抛出了异常,这个方法就不可能返回到调用者了。只能抛出Throwable子类的对象。
还有捕获异常,有时间单独写下吧。。。
- Java的异常处理基础
- java基础 ---异常处理
- Java基础:异常处理
- Java基础 异常处理
- Java基础-异常处理
- Java基础:异常处理
- java异常处理基础
- Java基础--异常处理
- Java基础--异常处理
- 【Java基础】--异常处理
- Java基础-异常处理
- Java基础--异常处理
- Java异常处理基础
- JAVA基础:异常处理
- Java基础之异常的处理
- 【Java基础】Java异常处理
- Java基础—异常处理
- java基础之异常处理
- VTK修炼之道33:边缘检测_Sobel算子
- JAVA中使用MongoDB
- php编程---使用计算两个日期之间的天数
- Elasticsearch上手——熟悉基本操作
- android 与C# UDP通信 DatagramSocket
- Java的异常处理基础
- 【计算机视觉】OPENCV对于有alpha通道的透明背景图片的读取和图片叠加
- GStreamer基础教程07——多线程和Pad的有效性
- 次小生成树
- ARM之210内存初始化
- Python处理时间
- 机器学习——神经网络
- 过滤T雪软件的驱动的一个历程_的驱动
- Java中的注解入门