Java异常处理操作实例小结

本文实例讲述了Java异常处理操作。分享给大家供大家参考,具体如下:

一 异常处理的使用——能够捕获到异常

1 代码

public class DealException
{
  public static void main( String[] args )
  {
   try
   // 检查这个程序块的代码
   {
     int arr[] = new int[5];
     arr[10] = 7;  // 在这里会出现异常
   }
   catch( ArrayIndexOutOfBoundsException e )
   {
     System.out.println( "数组超出绑定范围!" );
   }
   finally
   // 这个块的程序代码一定会执行
   {
     System.out.println( "这里一定会被执行!" );
   }
   System.out.println( "main()方法结束!" );
  }
}

2 运行

数组超出绑定范围!
这里一定会被执行!
main()方法结束!

二 异常处理的使用——不能够捕获到异常

1 代码

public class DealException
{
  public static void main( String[] args )
  {
   try
   // 检查这个程序块的代码
   {
     int arr[] = new int[5];
     arr[10] = 7;  // 在这里会出现异常
   }
   catch( ArithmeticException e )
   {
     System.out.println( "算术异常" );
   }
   finally
   // 这个块的程序代码一定会执行
   {
     System.out.println( "这里一定会被执行!" );
   }
   System.out.println( "main()方法结束!" );
  }
}

2 运行

这里一定会被执行!
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
    at DealException.main(DealException.java:9)

3 说明

对于未捕获到异常场景,finally语句块会执行,但finally语言块之后的语句不能执行,将异常交给JVM去处理,最后停止程序运行。

三 异常对象ex的使用

1 代码

public class excepObject
{
  public static void main( String[] args )
  {
   try
   {
     int arr[] = new int[5];
     arr[10] = 7;
   }
   catch( ArrayIndexOutOfBoundsException ex )
   {
     System.out.println( "数组超出绑定范围!" );
     System.out.println( "异常:" + ex ); // 显示异常对象e的内容
      // ex.printStackTrace();
   }
   System.out.println( "main()方法结束!" );
  }
}

2 运行

数组超出绑定范围!
异常:java.lang.ArrayIndexOutOfBoundsException: 10
main()方法结束!

四 通过多个catch捕获异常

1 代码

public class arrayException {
  public static void main( String args[] ) {
    System.out.println("-----A、计算开始之前");
    try {
      int arr[] = new int[5];
      ;
      arr[0] = 3;
      arr[1] = 6;
      arr[1] = 0; // 除数为0,有异常
      arr[10] = 7; // 数组下标越界,有异常
      int result = arr[0] / arr[1];
      System.out.println("------B、除法计算结果:" + result);
    } catch (ArithmeticException ex) {
      ex.printStackTrace();
    } catch (ArrayIndexOutOfBoundsException ex) {
      ex.printStackTrace();
    } finally {
      System.out.println("-----此处不管是否出错,都会执行!!!");
    }
    System.out.println("-----C、计算结束之后。");
  }
}

2 运行

-----A、计算开始之前
java.lang.ArrayIndexOutOfBoundsException: 10
    at arrayException.main(arrayException.java:19)
-----此处不管是否出错,都会执行!!!
-----C、计算结束之后。

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • JAVA异常分类和处理解析

    前言 如果,某个方法不能按照正常的途径完成任务,就可以通过另一个路径退出方法,在这种情况下会抛出一个封装了错误信息的对象,此时,这个方法会立刻退出且不会返回任何值,调用此方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器. Throwable是JAVA语言中所有错误或异常的超类,下一层分为error或者Exception. Error: Error类是指系统的内部错误和资源耗尽的错误,应用程序不会抛出该类对象,如果出现这样的错误,应用程序会尽量让程序安全的终止. Excepti

  • 在Java8中如何风骚走位的避开空指针异常

    前言 要说 Java 编程中哪个异常是你印象最深刻的,那 NullPointerException 空指针可以说是臭名昭著的.不要说初级程序员会碰到, 即使是中级,专家级程序员稍不留神,就会掉入这个坑里. Null 引用的发明者Tony Hoare 曾在 2009 年作出道歉声明,声明中表示,到目前为止,空指针异常大约给企业已造成数十亿美元的损失. 下面是 Tony Hoare 的原话: 我将 Null 引用的设计称为是一个数十亿美元的错误.1965 那年,我正在用面向对象语言(ALGOL W)

  • 如何利用Retrofit+RxJava实现网络请求的异常处理

    通常情况下我们在与服务器进行通信的时候,不一定就不会出错,有时会出现其他的错误,这个时候我们只要和服务器约定好各种异常,在返回结果处进行判断,到底是执行错误,还是返回正常数据.具体的思路大致就是这样.这里我们定义ExceptionHandle,这里我参考网上的东西,然后稍微做了一些改动. ExceptionHandle public class ExceptionHandle { private static final int UNAUTHORIZED = 401; private stati

  • Java异常分类及统一处理详解

    一.异常分类 java异常分为"检查"和"非检查"两类,"检查"二字的意思是,代码编译时,编译器会去Check一下有没有进行异常处理(捕获或向上抛),对于归类为需要检查的异常,若没处理,编译就过不去.        初学的时候,常常想为啥异常要这样分类处理? 后来明白了些,异常不过两种:主观和客观,一个大多数情况下可以避免,一个大多数情况下无法避免.        像NullPointerException这类异常,大多跟程序员素质挂钩(开发好,

  • JAVA抛出异常的三种形式详解

    一.系统自动抛出异常 当程序语句出现一些逻辑错误.主义错误或者类型转换错误时,系统会自动抛出异常 例一 public static void main(String[] args) { int a = 5; int b = 0; System.out.println( a / b); } 运行结果,系统会自动抛出ArithmeticException异常 Exception in thread "main" java.lang.ArithmeticException: / by zer

  • Java异常处理 如何跟踪异常的传播路径

    当程序中出现异常时,JVM会依据方法调用顺序依次查找有关的错误处理程序. 可使用printStackTrace 和 getMessage方法了解异常发生的情况: printStackTrace:打印方法调用堆栈. 每个Throwable类的对象都有一个getMessage方法,它返回一个字串,这个字串是在Exception构造函数中传入的,通常让这一字串包含特定异常的相关信息. 示例程序 // UsingExceptions.java // Demonstrating the getMessag

  • Java异常处理操作实例小结

    本文实例讲述了Java异常处理操作.分享给大家供大家参考,具体如下: 一 异常处理的使用--能够捕获到异常 1 代码 public class DealException { public static void main( String[] args ) { try // 检查这个程序块的代码 { int arr[] = new int[5]; arr[10] = 7; // 在这里会出现异常 } catch( ArrayIndexOutOfBoundsException e ) { Syst

  • PHP异常类及异常处理操作实例详解

    本文实例讲述了PHP异常类及异常处理操作.分享给大家供大家参考,具体如下: 异常处理归类于错误处理,PHP从5.1.0开始增加了Exception异常处理类. 一.异常处理 PHP 异常处理与Java相似,都使用try.throw.catch语句,发生异常时代码.如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 "Uncaught Exception" (未捕获异常)的错误消息. 1.t

  • Java异常处理操作 Throwable、Exception、Error

    异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程. Java通过API中Throwable类的众多子类描述各种不同的异常.因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件.当条件生成时,错误将引发异常. Throwable 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出).Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性. Throwable 有两个重要的子类:Excep

  • Python异常处理操作实例详解

    本文实例讲述了Python异常处理操作.分享给大家供大家参考,具体如下: 一.异常处理的引入 >>>whileTrue: try: x = int(input("Please enter a number: ")) break exceptValueError: print("Oops! That was no valid number. Try again ") Please enter a number: y Oops!That was no

  • Thinkphp5框架异常处理操作实例分析

    本文实例讲述了Thinkphp5框架异常处理操作.分享给大家供大家参考,具体如下: 异常处理 有时候服务端会报出我们无法感知的错误,TP5默认会自动渲染错误的形式,生产环境中这样的形式并不是我们想要的. 未知错误 1.exception\Handle.php下的render方法需要覆盖 创建ApiHandleException.php <?php namespace app\common\lib\exception; use think\exception\Handle; class ApiHa

  • Java文件操作实例详解

    本文实例为大家分享了Java文件操作的具体代码,供大家参考,具体内容如下 简介 本程序主要采用了FileInputStream和FileOutputStream两类对文件进行操作.具体包括通过相对路径打开文件,三种方法读取文件,查看文件属性,追加文件数据等. 效果图: 完整代码: package Code.a; import java.io.*; public class FileInputStreamDemo {          public static void main(String[

  • Python字典常见操作实例小结【定义、添加、删除、遍历】

    本文实例总结了Python字典常见操作.分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合. #字典 键值对组合 alien_0 ={'color':'green','number':5} print(alien_0['color']) print(alien_0['number']) 运行结果: green 5 添加键值对 alien_0 ={'color':'green','number':5} alien_0['first_name'] = 'mo' al

  • JavaScript DOM节点操作实例小结(新建,删除HTML元素)

    本文实例讲述了JavaScript DOM节点操作方法.分享给大家供大家参考,具体如下: 使用DOM可以新建HTML元素,也可以删除已有的HTML元素. (一)新建元素: <script> //创建新的 <p> 元素 var newEle=document.createElement("p"); //创建文本节点 var node=document.createTextNode("这是使用Javascript创建的新段落."); //将文本节

  • JavaScript节点及列表操作实例小结

    本文实例总结了JavaScript节点及列表操作的方法.分享给大家供大家参考.具体如下: (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 (2)添加.移除.替换.插入 appendChild() removeChild() replaceChild() insertBefore() (3)查找 getElementsByTagName() /

  • C#中DataGridView常用操作实例小结

    本文实例讲述了C#中DataGridView常用操作.分享给大家供大家参考.具体如下: public void Binder1() { DataTable tableType = DataBase.SQLDBHelper.GetDataTable("select top 200 unit_code,unit_name from unit "); DataTable table = DataBase.SQLDBHelper.GetDataTable("select top 2

随机推荐