`
Codestarter
  • 浏览: 11109 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

Java异常处理机制个人小结

阅读更多
    Java中的异常是指程序运行中的一些错误,比如,栈溢出(java.lang.StackOverflowError)、空指针异常(NullPointerException)以及内存不足(java.lang.OutOfMemoryError)等等,这些错误有时候可以通过人为因素而得意解决。值得注意的是并不是所有的错误都是异常。
    Java中的异常用对象来表示。一般有两个来源,一是Java语言本身定义的一些基本异常类型。二是通过继承Exception类或其子类来定义的一些异常。这些异常在适当的条件下被抛出,使得程序有效的在适当的情况之下运行。
    下面就让我们来看几种Java中的异常处理机制。JAVA异常处理通过五个关键字try catch throw throws finally来进行。一般情况下,try语句中块内出现异常,则异常会被抛出,在catch语句中捕获到这个异常并根据你所定义或者调用的方法来处理异常,通常,在使用try..catch语句是还会加上finally,它的含义是不论程序是否出现异常,怎么被处理,最后都要归结于这个方法,它是在任何情况下都必须被执行的代码,所以必须要保证该语句的可靠性才能使程序正确运行。
一般结构如下:
try{
......
}catch(异常类型1 异常对象1){
异常对象1.要调用的方法
}catch(异常类型2 异常对象2){
异常对象2.要调用的方法
}finally{
......
}

    另一种语句搭配是throws...throw。通过throws关键字在方法上声明要抛出的异常,然后再方法内部通过throw抛出异常对象。
一般结构如下:
public void test()throws NewException{
...
}if(...){
throw new NewExcption();
}
}
    还有一种比较便捷简单的方法,那就是通过Excption语句不断一层层的将问题移交给上一层调用它的类中,由上一层的类中的处理机制处理。这种层层抛出一直可以将错误抛到JAVA的虚拟机中,由虚拟机自带的方法自行解决。
    值得注意的是如果找不到处理异常的代码块,可以调用异常对象的printStackTrace的方法,打印方法调用栈的异常信息。
    最后让我们再来区分一下Java处理异常中几个拼写比较相像但是用法完全不同的语句,Throwable throws语句以及throw语句。类 Throwable是Java中所有异常和错误父类。它有两个直接的子类:Error和Exception。而throws语句和throw语句,前面已经介绍,throws语句总是出现在函数头中,用来标明该成员函数可能抛出的各种异常。而throw语句则出现在函数体中,调用try中的方法,终止程序,用来抛出一个异常。
分享到:
评论
1 楼 kowloonchen 2011-01-16  

相关推荐

    java异常机制小结

    本资源主要描述java异常的知识,里面内容丰富,是java初学者的学习手册,java异常机制小结。

    java异常小结

    本文重在Java中异常机制的一些概念。写本文的目的在于方便大家很长时间后若是忘了这些东西可以通过这篇文章迅速回忆起来。

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    疯狂JAVA讲义

    10.2 异常处理机制 358 10.2.1 使用try...catch捕获异常 359 10.2.2 异常类的继承体系 360 10.2.3 访问异常信息 363 10.2.4 使用finally回收资源 364 10.2.5 异常处理的嵌套 367 10.3 Checked异常和Runtime...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    Java服务器程序设计

    用java进行客户端的applet (小程序)开发的技术已广为使用,而用java进行服务器端的servlet(服务器小程序)开发则尚需揭开其神秘的面纱,本书正是基于这样的目的编写的。全书从java服务器的体系...15.6 小结[/font]

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的...

    21天学通Java-由浅入深

    202 10.3.3 父子类间的构造器的调用流程 204 10.3.4 如何自定义构造器 207 10.4 什么是单子模式 208 10.5 构造器在程序中是何时运行的 211 10.6 综合练习 214 10.7 小结 215 10.8 习题 215 第11章 异常处理(精彩...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     1.3 小结  1.4 思考题 第2章 Java对象持久化技术概述  2.1 直接通过JDBC API来持久化实体域对象  2.2 ORM简介  2.2.1 对象-关系映射的概念  2.2.2 ORM中间件的基本使用方法  2.2.3 常用的ORM中间件  2.3 ...

    Java Web程序设计教程

    <<Java Web程序设计教程.pdf>>人民邮电出版社的教程哦,所以,好书,你懂的!! 第1章web应用开发简介 1 1.1何为web应用 1 1.1.1web的概念及发展 1 1.1.2web应用程序 2 1.2使用java开发web应用 3 ...本章小结 342

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的...

    Java数据库编程宝典3

    1.6 小结 第2章 设计数据库 2.1 数据库设计应考虑的事项 2.1.1 项目规范 2.1.2 设计表 2.1.3 生成发票 2.2 引用完整性 2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 ...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    虚拟机堆转储快照分析工具 / 84 4.2.6 jstack:Java堆栈跟踪工具 / 85 4.3 JDK的可视化工具 / 87 4.3.1 JConsole:Java监视与管理控制台 / 88 4.3.2 VisualVM:多合一故障处理工具 / 96 4.4 本章小结 / 105 第5...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    2.10 本章小结 116 第3章 深入使用JSF 117 3.1 JSF事件机制 118 3.1.1 Java事件模型概述 118 3.1.2 Java事件模型示例 119 3.1.3 JSF事件模型 120 3.1.4 Action事件 122 3.1.5 值改变事件 125 3.1.6 生命周期事件 128...

    Java精华(免费版)

     小结一下:   * Runtime exceptions:   在定义方法时不需要声明会抛出runtime exception;   在调用这个方法时不需要捕获这个runtime exception;   runtime exception是从java.lang....

    Java虚拟机

    1.7 本章小结 第二部分 自动内存管理机制 第2章 Java内存区域与内存溢出异常 2.1 概述 2.2 运行时数据区域 2.2.1 程序计数器 2.2.2 Java虚拟机栈 2.2.3 本地方法栈 2.2.4 Java堆 2.2.5 方法区 2.2.6 运行...

    Java开发技术大全 电子版

    6.2Java的异常处理机制221 6.3异常类的层次结构222 6.3.1运行时异常222 6.3.2检查型异常223 6.3.3自定义异常224 6.4捕获和处理异常224 6.5抛出异常228 6.6try-catch-finally语句的嵌套231 6.7用户自定义异常...

Global site tag (gtag.js) - Google Analytics