基础知识

任何一门计算机程序设计语言都包括有绝对正确和相对正确的语句。绝对正确: 指任何情况下, 程序都会按照流程正确执行;相对正确: 程序的运行受到运行环境的制约, 在这种情况下, 需要附加检测和控制语句, 保证程序的健壮性。

在Java中, 通过面向对象的方法来处理程序错误,采用异常(Exception)处理机制来处理程序运行中的错误.将程序运行中的所有错误都看成一种异常, 通过对语句块的检测, 一个程序中所有的异常被收集起来放在程序的某一段中处理。如果发生了异常,则这个方法生成一个代表该异常的对象(包含了该异常的详细信息),并把它交给Runtime系统, Runtime系统寻找相应的代码来处理该异常。则生成异常对象并把它提交给运行时系统的过程被称为抛弃(throw)异常。运行时系统在方法的调用栈中查找,从生成异常的方法开始进行回朔,直到找到包含相应异常处理的方法为止,这一个过程称为捕获(catch)一个异常。

程序中存在非法操作. 这种因为无意或粗心引起的错误称为隐式异常, 常见的隐式异常可以通过java.lang包中的Throwable的子类Error来处理。程序员在程序中使用throw语言引起的异常. 这种事先考虑的异常称为显式异常, 可以通过java.lang包中的Throwable的子类Exception派生的子类生成.

在Java语言中, 大部分错误和异常都可以被抛出. 异常情况被分为异常类Exception和错误类Error, 其中错误类表示严重的错误, 直接由Java系统处理.错误和异常分为3类:

l 输入错误: 主要指用户输入的数据格式, 没有按规定的形式输入

l 设备错误是不可预知的, 且不可避免

l 程序代码出错是因为程序设计和编写时候出现的考虑不全面引起的

Java的异常处理是通过3个关键词来实现的:try-catch-finally。用try来执行一段程序,如果出现异常,系统抛出(throws)一个异常,可以通过它的类型来捕捉(catch)并处理它,或最后(finally)由缺省处理器来处理。

 Try{
exception_method;
}catch(Exception1 e){
dealWith1;
}[catch(Exception2 e){
dealWIth2;
}][finally{
method;
}]
在异常对象抛出时,使用到两个关键字分别是:throws和throw,其中throw用于语句中抛出异常对象,例如:
Exception e = new Exception(“MyException”);
throw e;

throw new Exception(“MyException”);
throws用于描述在间接抛出异常类型。
public void MyException(int a, int b) throws Exception{
}

Java学习---异常处理的学习的更多相关文章

  1. 【Java】异常处理_学习笔记

    异常: 1.格式1: try { //业务代码 } catch(Exception e) { //异常处理代码 } 说明: a.   异常抛出:执行try里的代码,系统会自动生成一个异常对象,该对象会 ...

  2. Java学习--异常处理及其应用类

    异常是运行时在代码序列中引起的非正常状况,换句话说,异常是运行时错误.在不支持异常处理的计算机语言中,必须手动检查和处理错误----通常是通过使用错误代码,等等.这种方式既笨拙又麻烦.Java的异常处 ...

  3. 马凯军201771010116《面向对象与程序设计Java》第九周学习总结

    一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...

  4. 2016-2017-2 20155309 南皓芯java第六周学习总结

    教材内容详解 这一次主要学习的是第十章与第十一章的内容.主要讲述了串流,字符处理和线程以及并行API. 输入输出 串流:Java中的数据有来源(source)和目的地(destination),衔接两 ...

  5. 2016-2017-2 20155309南皓芯java第五周学习总结

    教材内容总结 这一周学习的进度和前几周比较的话是差不多的,都是学习两章. 异常处理 1.理解异常架构 2.牚握try...catch...finally处理异常的方法 3.会用throw,throws ...

  6. 20155318 2016-2017-2 《Java程序设计》第九学习总结

    20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...

  7. 201771010128王玉兰《面向对象程序设计(Java)》课程学习总结

    1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: ...

  8. 20145304 Java第八周学习报告

    20145304<Java程序设计>第八周学习总结 教材学习内容总结 NIO NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记 ...

  9. 20145304 Java第七周学习报告

    20145304<Java程序设计>第七周学习总结 教材学习内容总结 1.时间的度量: 格林威治标准时间(GMT)通过观察太阳而得,其正午是太阳抵达天空最高点之时,因地球的公转与自传,会造 ...

随机推荐

  1. Windows里安装wireshark或者ethereal工具(包括汉化破解)(图文详解)

    不多说,直接上干货! https://www.wireshark.org/download.html 我这里,读取的是,来自于https://www.ll.mit.edu/ideval/data/19 ...

  2. exe4j安装及注册

    1 安装 1 下载 exe4j下载地址:http://www.ej-technologies.com/download/exe4j/files.php, 进入网址,选择需要的版本,点击下载就可以了. ...

  3. 理解Python语言里的异常(Exception)

    Exception is as a sort of structured "super go to".异常是一种结构化的"超级goto". 作为一个数十年如一日 ...

  4. i.mx6 Android5.1.1 初始化流程之框架

    Android启动过程分为以下几个步骤: 1.  Boot ROM:  上电后启动芯片固话代码. 2.  BootLoader:固话代码会根据启动模式启动bootloader,(一般为启动引脚的电平的 ...

  5. angular环境搭建时的坑

    安装angular环境踩过一些坑,最终还是把工程跑起来了,这里描述一下我的步骤,不排除有些步骤是多余的,希望能对遇到同样问题的小伙伴有帮助. 下载最新版node.js. 安装node,安装过程一路点下 ...

  6. PHP学习1——快速入门

    主要内容: 搭建PHP开发环境 第一个helloworld程序 PHP(Hypertext Preprocessor)PHP超文本预处理程序,是一种嵌入HTML的脚本语言,运行在服务器. 搭建PHP开 ...

  7. 时间格式转换成JUN.13,2017

    SimpleDateFormat sdf = new SimpleDateFormat("MMM.dd,yyyy", Locale.ENGLISH); String negotia ...

  8. WCF 之部署(VS2010)

    一. 环境vs2010,WCF应用程序,server 2008 第一步:WCF项目右键点击项目,选择生成部署包,如下图: 第二步:WCF项目上右键,选择:在windows资源管理器中打开文件夹,如下图 ...

  9. [javaSE] IO流(FIle对象递归文件列表)

    获取File对象,new出来,构造参数:String目录名 调用File对象的list()方法,获取String[]数组文件名称 循环数组,列出所有文件包含隐藏文件 递归列出所有的数据 定义一个静态方 ...

  10. java的内存区域

    java的内存区域分为程序计数器.java虚拟机栈.本地方法栈.java堆.方法区.运行时常量池. 1.程序计数器 2.java虚拟机栈 3.本地方法栈 4.java堆(新生代和老年代) 5.方法区( ...