一、什么是异常处理

在程序运行过程中发生的、会打断程序正常执行的事件称为异常(Exception),也称为例外。比如:除零溢出、数组越界、内存溢出等,这些事件的发生将阻止程序的正常运行。传统的编程语言没有异常处理机制,处理错误完全依靠程序编写者自己查找,通常是遇到错误返回一个特殊的值或者设定一个标志,并以此判断是否有错误产生,这就给程序维护带来了很大的障碍。而Java利用面向对象的方法,把异常处理固化到语言中,并把各种不同的异常分类,同时提供了良好的接口,由于Java语言中的异常处理和Java运行时的系统相关,所以它消耗内存和处理器来处理创建、抛出、捕获、处理异常等事件,如果不能合理使用就会适得其反,降低了软件的可读性和执行效率。

二、 异常处理方法
      Java语言提供了3种处理异常的方法:一种方法是使用try-catch-finally 语句实现异常处理;另一种方法是使用throw语句在方法头或者方法体内抛出异常,异常处理代码捕获这些异常。Java语言还为用户提供了定义自己异常类的方法,来满足用户处理实际问题的需要。
在使用try-catch-finally语句实现异常处理时,由于一个try子句可能产生多种不同的异常,这就需要多个catch子句来实现多异常处理机制,每一个catch子句接收和处理一个异常句柄,而针对多个catch子句,处理的原则是:
1)在多catch子句中,处理的顺序是由距离产生异常最近的、可匹配的catch代码段来处理。所谓的匹配是指catch所处理的异常类型与所生成的生成类型完全一致或是它的父类。
2)如果没有相应的异常处理,说明当前方法不能处理该异常,程序流程将会交给上层方法的try代码段进行处理,如果均不符合,则由Java虚拟机捕获并处理该异常。
3)异常处理的查找依据类型(异常与参数属于相同的异常类、异常属于参数异常的子类)匹配原则按顺序进行。在使用throw语句抛出异常时,对于含有throw语句的方法,应该在方法头定义中增加语句: throws异常类名列表,这样做的目的,主要是提醒调用该方法的其他方法,要处理和接受该方法在运行过程中可能抛出的异常。
Java 语言也提供了用户自定义异常类的方法来满足处理方面的需求,而所有用户自定义的异常类都必须是Throwable类或Exception类的子类。
程序运行中有错误是可以预料的,但却是不可避免的。当程序出现错误时,要力争允许用户排除环境错误,继续运行程序,这就是异常处理的任务和准则。Java语言提供了异常处理的内部支持,需要广大用户通过日常的反复操作来体会其更深层次的内容。

java异常处理预习的更多相关文章

  1. 札记:Java异常处理

    异常概述 程序在运行中总会面临一些"意外"情况,良好的代码需要对它们进行预防和处理.大致来说,这些意外情况分三类: 交互输入 用户以非预期的方式使用程序,比如非法输入,不正当的操作 ...

  2. java异常处理(父子异常的处理)

    我当初学java异常处理的时候,对于父子异常的处理,我记得几句话“子类方法只能抛出父类方法所抛出的异常或者是其子异常,子类构造器必须要抛出父类构造器的异常或者其父异常”.那个时候还不知道子类方法为什么 ...

  3. Java 异常处理

    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用System.out ...

  4. 《转载》Java异常处理的10个最佳实践

    本文转载自 ImportNew - 挖坑的张师傅 异常处理在编写健壮的 Java 应用中扮演着非常重要的角色.异常处理并不是功能性需求,它需要优雅地处理任何错误情况,比如资源不可用.非法的输入.nul ...

  5. JAVA 异常处理机制

    主要讲述几点: 一.异常的简介 二.异常处理流程 三.运行时异常和非运行时异常 四.throws和throw关键字 一.异常简介 异常处理是在程序运行之中出现的情况,例如除数为零.异常类(Except ...

  6. Java异常处理和设计

    在程序设计中,进行异常处理是非常关键和重要的一部分.一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度.试想一下,如果一个项目从头到尾没有考虑过异常处理,当程序出错从哪里寻 ...

  7. 深入理解java异常处理机制

       异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的 ...

  8. Java提高篇——Java 异常处理

    异常的概念 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用Syst ...

  9. java异常处理的设计

    有一句这样话:一个衡量Java设计师水平和开发团队纪律性的好方法就是读读他们应用程序里的异常处理代码. 本文主要讨论开发Java程序时,如何设计异常处理的代码,如何时抛异常,捕获到了怎么处理,而不是讲 ...

随机推荐

  1. javascript平时小例子⑨(小型抽奖功能)

    <!doctype html><html lang="en"> <head> <meta charset="utf-8" ...

  2. js 的match方法

    怎么调用? 字符串对象.match( 目标串 ); 返回值? 如果存在,就返回这个字符串: 否则, 返回null 实例 举一个常用的例子,判断图片路径是否包含某个字符串.

  3. vmstat和iostat

    一.vmstat1.命令示例#vmstat 5每5秒输出一次 2.输出详解procs -----------memory---------- ---swap-- -----io---- --syste ...

  4. Tomcat catalina.out日志使用log4j按天分割

    由于tomcat catalina.out日志不会自动分割, 一.日志分割所需包在附近中 1. 压缩包中有三个jar包: log4j-1.2.16.jar tomcat-juli-adapters.j ...

  5. java 基础一

    一.Java命名规则 Java命名规则有两种,第一种匈牙利命名要求望名知意,第二种驼峰命名要求首字母大写(关键单词) 类名必须首字母大写,方法名首字母小写后面的单词首字母大写 .类名和方法名要用英文开 ...

  6. MySql常用日期函数(转载)

    /*date_add(date,interval expr type)和date_sub(date,interval expr type)执行日期运算. date 是一个 datetime 或date ...

  7. JAVASE02-Unit06: 文件操作——File 、 文件操作—— RandomAccessFile

    Unit06: 文件操作--File . 文件操作-- RandomAccessFile java.io.FileFile的每一个实例是用来表示文件系统中的一个文件或目录 package day06; ...

  8. SpringMVC原理解析-DispatcherServlet初始化以及请求处理过程

  9. new一張form時用using{}的好處。

    以下代碼,用Using可避免一些問題,例如handel10000.如果PaymentForm裏面用dialogresult=''而不是close或X,(close或X會即時dispose回收,但dia ...

  10. 解决Windows下网络原因Composer安装失败问题

    由于Composer镜像都在国外,所以直接在官网下载Windows Installer后安装很多情况下是无法成功安装的. 解决办法: 1,将php添加到系统环境变量,并开启openssl扩展. 2,点 ...