基础知识

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

在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. 很乱,临时保存,自定义v-model

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. PHP之string之addslashes()函数使用

    addslashes (PHP 4, PHP 5, PHP 7) addslashes - Quote string with slashes addslashes - 使用反斜线引用字符串 Desc ...

  3. windows 7 做AP

    启动脚本: @echo off netsh wlan set hostednetwork mode=allow ssid=<ap-name> key=<password> ne ...

  4. SQL语句映射文件(1)resultMap

    SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ...

  5. WebLogic 数据源密码加密

    先启动域:

  6. 【转】C#微信公众平台开发者模式开启代码

    using System; using System.IO; using System.Text; using System.Web.Security; namespace HPZJ.Web.sys. ...

  7. 【angular5项目积累总结】遇到的一些问题以及解决办法

    1.项目中字符串特别是\r\n,替换成br之后,在页面换行无法生效? 答:绑定元素 innerHTML. <div class="panel-body" [innerHTML ...

  8. 基于node安装gulp-一些命令

    1.win+r:进入cdm 2.node -v:查询是否安装node 3.npm install -g gulp:安装gulp 4.gulp -v:查看是否安装gulp 5.cd desk:进入桌面 ...

  9. CentOS6.X 系统安装后的基础优化

    特别说明:克隆之后的网卡修改 1 编辑eth0的配置文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0, 删除HWADDR地址那一行及UUID的行如下: H ...

  10. anaconda使用,jupyter notebook的使用方法

    1. 通过anaconda安装不同的python环境 1) conda create -n python36 python=3.5 2)  激活虚拟环境: activate python36  # 进 ...