zoukankan      html  css  js  c++  java
  • Java的异常处理

     一、引言

      软件系统应该为用户提供一套完善的服务,系统不仅要满足用户需求的功能,还需要具有可靠性、稳定性和容错性。要求软件系统不仅自身不能有错误,还要具备较强的抗干扰能力:在用户操作出现错误是,或遇到不可抗拒的干扰是,软件系统也不能放弃,而必须景最大努力排除错误继续运行。只有具备这样能力的软件系统才会具有更好的应用空间。Java语言的异常处理机制能够很好地解决以上问题。

     二、错误与异常

      1. 错误

      错误(error)是指程序遇到非常严重的不正常状态,不能简单地恢复执行,一般是在运行时遇到的硬件或OS的错误,如内存溢出、操作系统出错、虚拟机出错等。错误对于程序而言是致命的,将导致程序无法运行,而且程序本身不能处理它,而只能依靠外界干预,否则会一直处于非正常状态。例如,没有找到.class文件,或.class文件中没有main()方法等,将导致应用程序不能运行。

      2. 异常

      异常(exception)指非致命性错误,一般指在运行程序时硬件和OS是正常的,而程序遇到了运行错,如整数进行除法运算时除数为0,操作数超出数据范围,要打开一个文件时发现文件不存在,网络连接中断等。

      异常会导致原有程序非正常中止,但Java语言提供的异常处理机制使应用程序自身能够捕获异常,并且能够处理异常,由异常处理部分调整应用程序运行状态,使应用程序仍可继续运行。

      在编译和运行应用程序时,发现Java应用程序中的错误和异常并进行处理的流程图如图所示。

                       

     三、错误和异常的分类

      Java类库提供了许多处理错误和异常的类,主要分为两大部分:Error类和Exception类。

      Error类是错误类,该类由Java虚拟机生成并抛给系统,如内存溢出错误、栈溢出错误、动态链接错误等。当运行某一个类是如果没有main()方法,则产生错误NoClassDetFoundError;当使用new分配内存空间时,如果没有可用内存,则产生内存溢出错误OutOtMemoryError。

      Exception类是异常类,是Java应用程序捕获和处理的对象。每一种异常对应于Exception类的一个子类,异常对象中包含的错误的位置和特征信息。

      下面是一个异常程序的示例:

     1 /**
     2  * 除数为0的异常
     3  */
     4 public class ExceptionByZero{
     5 
     6     public static void main(String[] args) {
     7         int x = 6;
     8         int y = 0;
     9         System.out.println("x="+x);
    10         System.out.println("y="+y);
    11         System.out.println("x/y="+x/y);
    12     }
    13 
    14 }

      编译,运行结果如图所示:

      

     

  • 相关阅读:
    微信小程序--form表单消息推送
    微信小程序学习笔记五(持续更新)---小程序上传文件
    微信小程序学习笔记四(持续更新)---征服scroll-view下拉刷新
    微信小程序学习笔记三(持续更新)---小程序组件通信
    微信小程序学习笔记二(持续更新)---小程序网络请求封装
    linux下安装微信开发者工具(fedora27)
    初学小程序学习笔记(持续更新)
    bootstrap使用popover插件实现点击按钮显示二维码图片
    gulp-jshint 编译出错Error:Cannot find modul 'jshint/src/cli' 解决办法
    vscode 下的 typescript 自动编译方法
  • 原文地址:https://www.cnblogs.com/ymyBlogs/p/8910027.html
Copyright © 2011-2022 走看看