java异常处理

异常 (Exception):

  发生于程序执行期间,表明出现了一个非法的运行状况。许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象。

例如:数组越界和被0除。

异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。

异常处理的主要用途是提供准确的错误消息,解释失败的原因、位置和错误类型等,同时提供一定的恢复能力,尽可能地保证数据完整性不被破坏,并让程序能继续运行。

Java中的异常捕获语句

1.把可能会发生错误的代码放进try语句块中。

2.当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。 catch语句块中的代码用于处理错误。

3.当异常发生时,程序控制流程由try语句块跳转到catch语句块。

4.不管是否有异常发生,finally语句块中的语句始终保证被执行。 如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。

示例程序

AboutException.java

import javax.swing.*;

class AboutException {
   public static void main(String[] a) 
   {
      int i=1, j=0, k;
  
    try
    {
        
        k = i/j;    // Causes division-by-zero exception
        //throw new Exception("Hello.Exception!");
    }
    
    catch ( ArithmeticException e)
    {
        System.out.println("被0除.  "+ e.getMessage());
    }
    
    catch (Exception e)
    {
        if (e instanceof ArithmeticException)
            System.out.println("被0除");
        else
        {  
            System.out.println(e.getMessage());
            
        }
    }
    
    finally
     {
             JOptionPane.showConfirmDialog(null,"OK");
     }
        
  }
}

结果截图

分析

当程序运行到k=i/j;时由于除数是0,抛出 ArithmeticException异常,随后该异常被catch ( ArithmeticException e)

捕捉到,并执行System.out.println("被0除. "+ e.getMessage());操作

原文地址:https://www.cnblogs.com/weipinggong/p/4962108.html