`
yangyangmyself
  • 浏览: 233861 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java exception

    博客分类:
  • Java
阅读更多
在整个Java的异常处理中,实际上也是按照面向对象的方式进行处理,处理步骤如下:

(1) 一旦产生异常,则首先会产生一个异常类的实例对象。

(2) 在try语句对此异常对象进行捕捉。

(3) 产生的异常对象与catch语句中的各个异常类型进行匹配,如果匹配成功,则执行catch语句中的代码。

 Try{
   
  //产生异常代码,并产生异常类的实例对象  

 }catch(Exception e){ //匹配异常类型
 
  //执行异常处理代码 

 }finally{

  //异常统一出口

 }
开发常见问题之一程序开发中不会只存在一个异常,肯定会同时存在多个异常,此是,就需要使用多个catch语句进行处理,那捕获异常如何排顺?所以要注意,在Java中所有捕获范围小的异常必须放在捕获大的异常之前,否则程序编译时就会出现错误。


 public class ExceptionDemo{
    public static void main(String args[]){

       System.out.println("计算开始");
       int i=0 ;
       int j=0 ;
       try{
           String str1 = args[0] ;
           String str2 = args[1] ;
           i = Integer.parseInt(str1) ;
           j = Integer.parseInt(str2) ;  
           int result = i /j ;          .......................产生异常
           System.out.println("两个数字相除结果:"+result) ;
       }catch(Exception e1){            ..................异常捕获范围大
          
           System.out.println("其它异常:"+e1.getMessage()) ;         

       }catch(ArithmeticException e2){  ................错误,无法捕获

           System.out.println("算术异常:"+e2.getMessage()) ;

       }finally{

           System.out.println("计算结果") ;  .............出口,一定执行

       }

    }
 }


引用
结果:编译出错


引用
开发常见问题之二throw与throws区别。在定义一个方法时可以使用throws声明,使用throws声明的方法表示此方法不处理异常而交给方法调用处进行处理;而throw则直接抛出异常,两都常在一起使用,throw常用于自定义异常处理。上述为例说明


  public class ExceptionDemo{
      //执行相除
      public int div(int i,int j) throws Exception{.....往上抛,由方法调用处进行处理,这里则由主方法处理
          int result = 0 ;
          try{

            result = i / j ;

          }catch(Exception e){

            throw e;                           ........直接抛出异常

          }
          return result;
      }
      //主方法
      public static void main(String args[]){
          
          ExceptionDemo ex = new ExceptionDemo();
    
          try{

             System.out.println("操作结果:"+ex.div(8,4));       
 
          }catch(Exception e){
     
             System.out.println(e.getMessage()) ;
          
          }
      }
  }
 
分享到:
评论

相关推荐

    Eclipse运行TOMCAT 出现在a java exception has occurred的解决办法。

    Eclipse运行TOMCAT出现"a java exception has occurred"的解决办法 Eclipse是一款功能强大且广泛应用的集成开发环境(IDE),它支持多种编程语言,包括Java、C++、Python等。TOMCAT则是一款流行的Java Web服务器,...

    java Exception

    ### Java中的异常处理详解 #### 一、异常基础概述 在Java编程中,异常处理是一项重要的机制,用于处理运行过程中可能发生的错误情况。通过合理的异常处理,可以显著提高程序的健壮性和可用性。 ##### 1. 异常概念...

    Java exception_java_

    Java的异常类都继承自`java.lang.Throwable`,主要分为两种类型:Error和Exception。Error是系统级的错误,如虚拟机错误、内存不足等,一般开发者无法处理,而Exception是应用程序可以预见并处理的异常。 声明异常...

    javaException_JAVA源码_

    Java异常处理是编程中至关重要的一个部分,它用于在程序运行时处理错误和不寻常的情况。在Java中,异常是一种事件,它中断了程序的正常流程。Java异常处理提供了五种关键字来帮助开发者有效地管理异常:`try`, `...

    JAVA Exception Handling & UI Design

    在Java编程中,异常处理(Exception Handling)是确保程序健壮性的重要机制。它允许程序员在遇到错误情况时,能够优雅地处理问题而不是让程序突然崩溃。本项目中,"JAVA Exception Handling & UI Design" 涉及了如何...

    java exception

    异常通常由异常类表示,这些类继承自Java的`java.lang.Throwable`类,最常见的是`Exception`类及其子类。 异常分为两种类型:检查性异常(Checked Exceptions)和运行时异常(Runtime Exceptions)。检查性异常是...

    Java Exception 几种不适当的处理

    ### Java Exception 几种不适当的处理 在Java编程中,异常处理是确保代码健壮性和稳定性的关键环节。然而,在实际开发过程中,由于对异常处理的理解不足或是编码习惯的不当,常常会出现一些不适当的异常处理方式,...

    反编译工具两个版本,一个支持jdk1.7的 解决A Java Exception has occurred

    本文将深入探讨标题和描述中提到的反编译工具及其与Java JDK版本的关联,以及如何解决"Java Exception has occurred"的问题。 首先,标题提到了“反编译工具两个版本,一个支持jdk1.7的”,这暗示了Java开发工具集...

    Java Exception Handling 内容.ppt

    当尝试执行除以零的操作时,Java会抛出`ArithmeticException`。这是通过使用异常处理机制来确保程序不会因这种错误而崩溃。例如: ```java try { int result = 10 / 0; // 这将引发ArithmeticException } catch ...

    Java反编译工具jd-gui

    JD-GUI是使用C++开发的一款Java反编译工具,它是一个独立图形界面的Java源代码“.class”文件反编译工具。 JD-GUI是使用C++开发的一款Java反编译工具,它是一个独立图形界面的Java源代码“.class”文件反编译工具。

    Java Exception 捕获和显示实例详解

    通过调用`Exception.getClass().getName()`方法,我们可以获取到异常的全限定类名,这有助于识别异常的具体类别。例如,如果异常是`NullPointerException`,`getClass().getName()`将返回`"java.lang....

    imooc_exception_book_java_exception_Book2_租车_

    标签中的“java exception”表明我们需要关注异常处理机制。在Java中,异常是通过`throw`关键字引发的,而`catch`关键字用于捕获和处理异常。`Book2`可能指的是项目的一部分或者版本号,但在这个上下文中没有具体...

    Java异常 Exception类及其子类(实例讲解)

    Java异常 Exception类及其子类详解 Java异常Exception类及其子类是Java语言中异常处理的核心部分。异常是指程序在执行过程中出现的非正常情况,例如除数为零、数组索引越界、类型转换错误等。Java语言所有的异常都...

    Java反编译神器jd-gui最新1.4版本

    最新版jd-gui,适用于x86版本的JDK,JDK最低要求1.6,最高支持1.8

    java异常捕捉

    在Java编程语言中,异常处理是一项至关重要的机制,它允许程序员优雅地处理程序运行时可能出现的问题,从而确保程序的稳定性和可靠性。Java异常捕捉通过使用try、catch、finally和throw关键字来实现,这些关键字帮助...

    java开发exception部分

    java development part of exception

    defexception:一个简单的Clojure库,用于在Clojure中动态定义Java Exception类

    一个简单的Clojure库,该库允许在Clojure中动态定义Java Exception类。 动机 有时,您只需要可以直接捕获的快速Exception类。 defexception使用Java字节码动态创建直接从clojure.lang.ExceptionInfo继承的Java类。 ...

    JAVA自定义异常类

    Javaexception je2 = new Javaexception("С", 33); System.out.println(je2.toString()); System.out.println(je1.getName() + "" + je2.getName() + "" + je1.olderThen(je2) + ""); } catch (MyException e) ...

    java解决nested exception is java.lang.OutOfMemoryError Java heap space

    Java程序在运行过程中可能会遇到各种异常,其中"nested exception is java.lang.OutOfMemoryError: Java heap space"是一个常见的问题,通常发生在程序试图分配超过堆内存限制的空间时。这个错误表明Java虚拟机(JVM...

    throwable 和 exception区别

    java Exception中Throwable和Exception之间的区别

Global site tag (gtag.js) - Google Analytics