码迷,mamicode.com
首页 > 编程语言 > 详细

Java异常处理

时间:2015-11-14 20:34:09      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:

 异常Exception):

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

例如:数组越界和被0除。 
int i = 1,j = 0 ,k;
k = i / j ;

 则会报错:

技术分享

 

异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。
异常处理的主要用途是提供准确的错误消息,解释失败的原因、位置和错误类型等,同时提供一定的恢复能力,尽可能地保证数据完整性不被破坏,并让程序能继续运行。
动手动脑:请阅读并运行AboutException.java示例,
程序:
import javax.swing.*;

class AboutException {
   public static void main(String[] a) 
   {
      int i=1, j=0, k;
      k=i/j;


    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");
     }
        
  }
}

 

结果截图:
技术分享 
 
 java 中用于捕获异常的语句是:
try 
{
    //可能发生错误运行的代码
}
catch(//异常类型 异常对象的引用)
{
   //用于处理异常的代码
}
finally
{
   //用于"善后"的代码
}

Java 中所有可捕获的异常都派生自 Exception 类。

 

使用Java异常处理机制:
 把可能会发生错误的代码放进try语句块中。
当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。 catch语句块中的代码用于处理错误。
当异常发生时,程序控制流程由try语句块跳转到catch语句块。
不管是否有异常发生,finally语句块中的语句始终保证被执行。
如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。
 
Java中的异常分类
  Throwable类有两个直接子类:
Exception:出现的问题是可以被捕获的;
Error:系统错误,通常由JVM处理。
可捕获的异常又可以分为两类:
1check异常:直接派生自Exception的异常类,必须被捕获或再次声明抛出
2runtime异常:派生自RuntimeException的异常类。使throw语句可以随时抛出这种异常对象: throw new ArithmeticException(…);
  

Java异常处理

标签:

原文地址:http://www.cnblogs.com/389629916muyachao/p/4964913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!