首页 > 代码库 > Java异常处理

Java异常处理

Exception类:

在java中用类的形式对不正常情况进行了描述和封装对象,异常就是java通过面向对象的思想将问题封装成了对象。


 异常发生的原因有很多,通常包含以下几大类:

  • 用户输入了非法数据。
  • 要打开的文件不存在。
  • 网络通信时连接中断,或者JVM内存溢出。

Throwable:

Exception 类是 Throwable 类的子类。除了Exception类外,Throwable还有一个子类Error 。
//该体系的特点就在于Throwable及其所有的子类都具有可抛性。
可抛性到底指的是什么呢?怎么体现可抛性呢?其实是通过两个关键字来体现的。
throws throw ,凡是可以被这两个关键字所操作的类和对象都具备可抛性。
|--1,一般不可处理的:Error
特点:是由jvm抛出的严重性的问题。这种问题发生一般不针对性处理,直接修改程序。

|--2,可以处理的:Exception

技术分享

异常的分类:
1,编译时被检测异常:只要是Exception和其子类都是,除了特殊子类RuntimeException体系。
这种问题一旦出现,希望在编译时就进行检测,让这种问题有对应的处理方式。这样的问题都可以针对性的处理。
2,编译时不检测异常(运行时异常,比较多见):就是Exception中的RuntimeException和其子类。
这种问题的发生,无法让功能继续,运算无法进行,更多是因为调用者的原因导致的而或者引发了内部状态的改变导致的。
那么这种问题一般不处理,直接编译通过,在运行时,让调用者调用时的程序强制停止,让调用者对代码进行修正。

自定义异常:

有的异常在Java中并没有定义过,可以按照java异常的创建思想,面向对象,将异常进行自定义描述。并封装成对象。

自定义异常时,要么继承Exception。要么继承RuntimeException。

*继承Exception需要throws来声明,继承RuntimeException不需要。*

声明异常的目的是让调用者来处理这些问题。

throws 和throw的区别:

1,throws使用在函数上,throw使用在函数内。
2,throws抛出的是异常类,可以抛出多个,用逗号隔开。throw抛出的是异常对象。


 异常处理的捕捉形式:

这是可以对异常进行针对性处理的方式。

具体格式是:

 

Java异常处理