java异常处理
来源:互联网 发布:淘宝查排名软件 编辑:程序博客网 时间:2024/06/03 19:21
简介
所有的异常类是从 java.lang.Exception 类继承的子类。 Exception类是Throwable类的子类,Throwable还有一个子类Error。
java内置异常类
Java 语言定义了一些异常类在 java.lang 标准包中。标准运行时异常类的子类是最常见的异常类。由于 java.lang 包是默认加载到所有的 Java 程序的,所以大部分从运行时异常类继承而来的异常都可以直接使用。
- ClassNotFoundException:应用程序试图加载类时,找不到相应的类,抛出该异常。
- CloneNotSupportedException:当调用 Object 类中的 clone 方法克隆对象,但该对象的类无法实现 Cloneable 接口时,抛出该异常。
- IllegalAccessException:拒绝访问一个类的时候,抛出该异常。
- InstantiationException 当试图使用 Class 类中的 newInstance 方法创建一个类的实例,而指定的类对象因为是一个接口或是一个抽象类而无法实例化时,抛出该异常。
- InterruptedException:一个线程被另一个线程中断,抛出该异常。
- NoSuchFieldException:请求的变量不存在
- NoSuchMethodException:请求的方法不存在
Java 根据各个类库也定义了一些其他的异常,这里不一一列出。
异常方法
下面的列表是 Throwable 类的主要方法:
- public String getMessage() :返回关于发生的异常的详细信息。这个消息在Throwable 类的构造函数中初始化了。
- public Throwable getCause() :返回一个Throwable 对象代表异常原因。
- public String toString() :使用getMessage()的结果返回类的串级名字。
- public void printStackTrace(): 打印toString()结果和栈层次到System.err,即错误输出流。
- public StackTraceElement [] getStackTrace(): 返回一个包含堆栈层次的数组。下标为0的元素代表栈顶,最后一个元素代表方法调用堆栈的栈底。
- public Throwable fillInStackTrace(): 用当前的调用栈层次填充Throwable 对象栈层次,添加到栈层次任何先前信息中。
捕获异常
try{ // 程序代码}catch(ExceptionName e1){ //Catch 块}
多重捕获块
try{ // 程序代码}catch(异常类型1 异常的变量名1){ // 程序代码}catch(异常类型2 异常的变量名2){ // 程序代码}catch(异常类型2 异常的变量名2){ // 程序代码}
throws 关键字:
定义一个方法的时候可以使用throws关键字声明。使用throws关键字声明的方法表示此方法不处理异常,而交给方法调用处进行处理。
throws关键字格式: public 返回值类型 方法名称(参数列表,,,)throws 异常类{};
假设定义一个除法,对于除法操作可能出现异常,可能不会。所以对于这种方法最好将它使用throws关键字声明,一旦出现异常,则应该交给调用处处理。
class Math{ public int div(int i,int j) throws Exception{ // 定义除法操作,如果有异常,则交给被调用处处理 int temp = i / j ; // 计算,但是此处有可能出现异常 return temp ; }};public class ThrowsDemo01{ public static void main(String args[]){ Math m = new Math() ; // 实例化Math类对象 try{ System.out.println("除法操作:" + m.div(10,2)) ; }catch(Exception e){ e.printStackTrace() ; // 打印异常 } }};
因为div使用了throws关键字声明,所以调用此方法的时候,方法必须进行异常处理。通过try…catch;
- 如果在主方法使用了throws关键字,则表示一切异常交给JVM进行处理。默认处理方式也是JVM完成。
throw关键字
throw关机字作用是抛出一个异常,抛出的时候是抛出的是一个异常类的实例化对象,在异常处理中,try语句要捕获的是一个异常对象,那么此异常对象也可以自己抛出。
package methoud;public class ThisDemo06{ public static void main(String args[]){ try{ throw new Exception("自己抛着玩的。") ; // 抛出异常的实例化对象 }catch(Exception e){ System.out.println(e) ; } }};
阅读全文
0 0
- 【java】java异常处理
- java异常和异常处理
- Java 异常及异常处理
- java异常与异常处理
- Java异常处理-----自定义异常
- Java异常与异常处理
- java异常及异常处理
- Java 异常与异常处理
- Java异常与异常处理
- Java异常及异常处理
- Java异常处理--自定义异常
- JAVA异常之异常处理
- Java异常处理-----自行处理
- Java异常处理-----抛出处理
- Java异常处理-----抛出处理
- java异常处理
- java 异常处理分析
- java异常处理
- mysql中内连接中的顺序问题折射出内连接的内在运行机制
- 欢迎使用CSDN-markdown编辑器
- Android数据存储之SharedPreferences
- JAVA_获取正常上班工作日-除去节假日_双休日_加上加班
- 在桌面Linux环境下开发图形界面程序的方案对比
- java异常处理
- mt2503[SMS] 手机无法发出短信
- elasticsearch常用操作URL与java实例代码
- 虾米网音乐真实地址解析
- 新版iTunes 不能安装 ipa 包的五种解决办法
- CNNdroid+Caffe使用攻略
- 订单操作
- 深入理解-字符编码ASCII,GB2312,GBK,Unicode,UTF-8
- Imageloader的配置及显示(自定义路径)