Java中异常机制的意义

原创 2016年05月18日 20:06:43

什么是异常:异常就是程序在运行时出现的不正常情况。对于严重的情况Java通过Error类进行描述,一般不用编写代码处理;对于不严重的情况Java通过Exception描述,一般编写针对性代码对其进行处理。

异常由来:问题也是生活中一个具体的事物,也可以通过Java类的形式进行描述(比如进行运算时被除数不可以为0否则出现ArithmeticException异常,数组越界会出现ArrayIndexOutOfBoundsException等等),并封装成对象。即Java对不正常情况进行描述后的对象体现。简单来说是Java万物皆对象思想的体现。

异常的意义:Java的" 异常机制"就是在处理各类问题时给了程序员非常简单而灵活的方式。一般来说,其它高级语言主要是让函数使用者来关注该函数可能会出现的异常情况,而 java则是把这件事情交给方法的设计者来做。这对于方法的使用者来说带来的方便是不会因为责任心不强,或者办事丢三那四,会忘了在使用方法时处理可能发生的异常情况。

异常处理方法:Java提供特有的语句进行处理异常。

  try{
        需要被检测的代码。
   }
  catch(异常类 变量){
         处理异常的代码。
   }
  finally{
       一定会执行的语句。
   }

throws:声明方法可能要抛出的异常。
throw:手动抛出异常。

代码部分:(以被除数为0为例)

//1.首先定义一个异常类

public class Div {
   public int div(int a,int b)throws Exception{
//功能上通过throws 关键字声明该功能可能出现问题。
//调用者必须在主函数抛出此异常(throws Exception)或者捕获该异常(try catch)
return a/b; 
 }

//2.调用含有异常类的方法

public class DivDemo {
public static void main(String[] args) {
Div d = new Div();
try {
int x = d.div(6, 0);
System.out.println("x=" + x);
} catch (Exception e) {
System.out.println("除数不能为零");
System.out.println(e.getMessage());// 显示:/ by zero
System.out.println(e.toString());//  显示:异常名称
e.printStackTrace();//显示: 异常名称,异常信息,异常出现的位置。
//jvm虚拟机默认的异常处理机制,调用printStackTrace()方法。打印异常堆栈的跟踪信息。
} finally{

                        System.out.println("over");//程序一定会执行的代码。

                       }
                  }

自定义异常:项目中出现特有的异常,这些异常没有被Java描述并封装进对象。
 对这些特有的异常问题可以按照Java对问题封装的思想。将特有的问题。进行自定义封装
当函数内部出现throw抛出异常对象,那么就必须对应的处理动作。(1.try catch  2.函数上声明让调用者处理)。

异常在子类覆盖中的体现:

①子类覆盖父类时,如果父类方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或该异常的子类。
②父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集。
③如果父类或者接口的方法没有抛出异常,那么子类在覆盖方法时,也不可以抛出异常。
④如果子类方法发生了异常。就必须进行try处理,绝对不能抛出。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java异常的作用

1.异常作用:提高软件的交互性。 比如登录的例子: (正确返回就是0,如果用户找不到就是-1,如果密码不对,就是-2):这些是需要写login方法的人和调用方法的人去约定好的,而如果用异常的话,调...
  • GAGA704
  • GAGA704
  • 2015年05月08日 16:27
  • 1634

java为什么引入异常处理机制

0. 为什么要引入异常处理机制?      在异常机制引入之前,利用if…else,sysout和syserror的方式处理异常。异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C...
  • cuidiwhere
  • cuidiwhere
  • 2012年11月01日 22:29
  • 4668

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

Java中的异常处理机制的简单原理和应用 :  java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error. Exception表示程序需...
  • qq_23127721
  • qq_23127721
  • 2016年10月19日 08:55
  • 2600

Java必知必会:异常机制详解

一、Java异常概述 在Java中,所有的事件都能由类描述,Java中的异常就是由java.lang包下的异常类描述的。1、Throwable(可抛出):异常类的最终父类,它有两个子类,Error与...
  • zhangliangzi
  • zhangliangzi
  • 2016年05月01日 17:52
  • 4499

Java异常总结

1.异常分类 (1)运行时异常(checked exception):继承自java.lang. RuntimeException类 常见5种: ClassCastException...
  • hit100410628
  • hit100410628
  • 2017年06月06日 11:49
  • 301

java学习笔记《面向对象编程》——异常处理

一、Java异常处理机制的优点 在一些传统的编程语言,如C语言中,并没有专门处理异常的机制,程序员通常用方法的特定返回值来表示异常情况,并且程序的正常流程和异常流程都采用同样的流程控制语句。 Ja...
  • dnxyhwx
  • dnxyhwx
  • 2011年11月15日 22:45
  • 1026

深入理解java异常处理机制

1. 引子        try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中...
  • hguisu
  • hguisu
  • 2011年01月20日 18:44
  • 296893

异常处理

一.异常的重要性 没有没有异常的程序。 80%的精力处理20%可能报错的代码。 二.异常与错误的分类1. 异常(Exception) 编译时异常(checkedException) 编译器在编译的时...
  • meiniada
  • meiniada
  • 2016年10月31日 20:41
  • 129

Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别代表什么意义?在try块中可以抛出异常吗?

try块表示程序正常的业务执行代码。如果程序在执行try块的代码时出现了“非预期”情况,JVM将会生成一个异常对象,这个异常对象将会被后面相应的catch块捕获。 catch块表示一个异常捕获块。当...
  • CWH615
  • CWH615
  • 2016年10月28日 11:07
  • 4401

Java异常机制

Java异常机制 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类...
  • wuwenxiang91322
  • wuwenxiang91322
  • 2013年08月26日 15:43
  • 4790
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中异常机制的意义
举报原因:
原因补充:

(最多只允许输入30个字)