异常处理机制的简单原理和应用

一、Execption可以分为java标准定义的异常和程序员自定义异常2种

(1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错误表示为一个异常.这里语法规则指的是JAVA类库内置的语义检查。

例如 int i = 2 / 0 或者 String str = null;str.length();

(2)另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。

例如 Exception ex = new Exception("这是我自定义的异常信息");throw ex;

所有的异常都是Thowable的子类。

异常处理是与程序执行是并行的。

Try{

    //可能发现异常的语句块

}catch(异常类型,e){

   //发生异常时候的执行语句块

} finnally{

  //不管是否发生异常都执行的语句块

}

二、异常的处理方式

包括捕获异常和上抛异常

1、捕获异常

以捕获 int i=2/0 为例

          try {
int i = 2 / 0; } catch (Exception ex) {// 所有异常的父类Exception
ex.printStackTrace();
// 处理异常
System.out.println("异常信息:" + ex.getMessage());
} finally {
System.out.println("释放资源,后续代码,一定要执行的代码");
}
System.out.println("继续运行");

输出结果为

ex.printStackTrace()表示向控制台打印详细异常信息

2、上抛异常 throws

以 String str =null;

    str.length();(未实例化)为例

package test;

import com.hanqi.ThrowEX;

public class Test {
public void test() throws Exception { //用throws
String str = null;
str.length();
} public static void main(String[] args) {
ThrowEX te = new ThrowEX(); //用throw
try {
te.test();
} catch (Exception e) {// TODO 自动生成的 catch块
e.printStackTrace();
System.out.println("异常信息为" + e.getMessage());
} }
}

e.printStackTrace()表示向控制台打印详细异常信息

java——关于异常处理机制的简单原理和应用的更多相关文章

  1. java中异常处理机制的简单原理

    以上是自认为的java异常处理的简单原理,如有不妥之处还请各位大神帮忙指点,谢谢!

  2. java——关于异常处理机制的简单原理和应用2(转)

    Java中的异常 Exception java.lang.Exception类是Java中所有异常的直接或间接父类.即Exception类是所有异常的根类. 比如程序: public class Ex ...

  3. Java中的异常处理机制的简单原理和应用?

    程序运行过程中可能出现各种"非预期"情况,这些非预期情况可能导致程序非正常结束. 为了提高程序的健壮性,Java提供了异常处理机制: try { s1... s2... s3... ...

  4. Java中的异常处理机制的简单原理和应用

    异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间.地点.人物.情节等信息,可以用一个对象来表示,Java使用面向对象的方式 ...

  5. 【Java面试题】21 Java中的异常处理机制的简单原理和应用。

    异常指Java程序运行时(非编译)所发生的非正常情况或错误. java对异常进行了分类,不同类型的异常使用了不同的java类,所有异常的根类为java.lang.Throwable.Throwable ...

  6. JAVA异常处理机制的简单原理和应用

  7. 43 java中的异常处理机制的简单原理和应用

  8. 异常处理器详解 Java多线程异常处理机制 多线程中篇(四)

    在Thread中有异常处理器相关的方法 在ThreadGroup中也有相关的异常处理方法 示例 未检查异常 对于未检查异常,将会直接宕掉,主线程则继续运行,程序会继续运行 在主线程中能不能捕获呢? 我 ...

  9. Java垃圾回收机制的工作原理

    Java垃圾回收机制的工作原理 [博主]高瑞林 [博客地址]http://www.cnblogs.com/grl214 获取更多内容,请关注小编个人微信公众平台: 一.Java中引入垃圾回收机制的作用 ...

随机推荐

  1. HDUOJ-----2066一个人的旅行

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  2. web服务器一些概念

    一.Web服务器 Web服务基于HTTP协议,HTTP协议基于TCP/IP协议. HTTP请求底层必然是套接字,也就是TCP协议,HTTP服务器就是监听端口的一个守护进程. 它负责HTTP连接的建立. ...

  3. 【LeetCode】145. Binary Tree Postorder Traversal (3 solutions)

    Binary Tree Postorder Traversal Given a binary tree, return the postorder traversal of its nodes' va ...

  4. DataTable.Compute()

    一.DataTable.Compute()方法說明如下 作用:          计算用来传递筛选条件的当前行上的给定表达式. 格式為:          Object Compute (string ...

  5. Linux内核中锁机制之完成量、互斥量

    在上一篇博文中笔者分析了关于信号量.读写信号量的使用及源码实现,接下来本篇博文将讨论有关完成量和互斥量的使用和一些经典问题. 八.完成量 下面讨论完成量的内容,首先需明确完成量表示为一个执行单元需要等 ...

  6. Linux Shell之表达式

    严格来说,shell中没有表达式的概念.Shell本身事实上仅仅是一堆命令的集合.当然也不是胡乱的堆在一起.而是有一定的组织.仅仅是这个组织不那么严谨.所以本文不是要真的总结所谓的表达式,而是把she ...

  7. python 中 with 用法

    前言 with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源, 比如文件使用后自动关闭/线程中锁的自动获取和释放等. 问题引出 如下代码: fil ...

  8. Redis(一):概述

    1.Redis解释 Redis 是一个基于key-value形式进行存储的内存型数据库. 1.1 数据存储方式为key-value 1.2 数据存储在内存中. 1.2.1 优点:效率高.理论值:每秒1 ...

  9. ASP.NET MVC 笔记

    (从今天开始,还是换回默认的代码高亮插件吧...话说此篇仅供个人遗忘后查阅,木有详尽解释...) 1.Controller中的所有Action方法不限制返回值类型,返回值应该至少可以被ToString ...

  10. 有限狀態機FSM coding style整理 (SOC) (Verilog)

    AbstractFSM在數位電路中非常重要,藉由FSM,可以讓數位電路也能循序地執行起演算法.本文將詳細討論各種FSM coding style的優缺點,並歸納出推薦的coding style. In ...