博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动手动脑
阅读量:5281 次
发布时间:2019-06-14

本文共 4429 字,大约阅读时间需要 14 分钟。

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

把可能会发生错误的代码放进try语句块中。当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。catch语句块中的代码用于处理错误。当异常发生时,程序控制流程由try语句块跳转到catch语句块。不管是否有异常发生,finally语句块中的语句始终保证被执。如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。
 
package asd;public class CatchWho {     public static void main(String[] args) {         try {                 try {                     throw new ArrayIndexOutOfBoundsException();                 }                 catch(ArrayIndexOutOfBoundsException e) {                        System.out.println(  "ArrayIndexOutOfBoundsException" +  "/内层try-catch");                 }             throw new ArithmeticException();         }         catch(ArithmeticException e) {             System.out.println("发生ArithmeticException");         }         catch(ArrayIndexOutOfBoundsException e) {            System.out.println(  "ArrayIndexOutOfBoundsException" + "/外层try-catch");         }     } }

 

package asd;public class CatchWho2 {     public static void main(String[] args) {         try {                try {                     throw new ArrayIndexOutOfBoundsException();                 }                 catch(ArithmeticException e) {                     System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch");                 }            throw new ArithmeticException();         }         catch(ArithmeticException e) {             System.out.println("发生ArithmeticException");         }         catch(ArrayIndexOutOfBoundsException e) {             System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch");         }     } }

 

package asd;public class EmbededFinally {        public static void main(String args[]) {                int result;                try {                        System.out.println("in Level 1");                        try {                                System.out.println("in Level 2");  // result=100/0;  //Level 2                                try {                                        System.out.println("in Level 3");                                           result=100/0;  //Level 3                                }                                 catch (Exception e) {                                        System.out.println("Level 3:" + e.getClass().toString());                                }                                                finally {                                        System.out.println("In Level 3 finally");                                }                                               // result=100/0;  //Level 2                            }                        catch (Exception e) {                                System.out.println("Level 2:" + e.getClass().toString());                        }             finally {                                System.out.println("In Level 2 finally");                        }                         // result = 100 / 0;  //level 1                }                 catch (Exception e) {                        System.out.println("Level 1:" + e.getClass().toString());                }                finally {                        System.out.println("In Level 1 finally");                }        }}

 

package asd;public class SystemExitAndFinally {        public static void main(String[] args)    {                try{                        System.out.println("in main");                        throw new Exception("Exception is thrown in main");                    //System.exit(0);                }                catch(Exception e)            {                        System.out.println(e.getMessage());                        System.exit(0);                }                finally                {                        System.out.println("in finally");                }        }}

 

 

 

 

转载于:https://www.cnblogs.com/ljm-zsy/p/9949867.html

你可能感兴趣的文章
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
CS61A Efficiency 笔记
查看>>
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
div或者p标签单行和多行超出显示省略号
查看>>
Elasticsearch 滚动重启 必读
查看>>
Hadoop基本概念
查看>>
java.util.zip压缩打包文件总结一:压缩文件及文件下面的文件夹
查看>>
浅说 apache setenvif_module模块
查看>>
MySQL--数据插入
查看>>
重新学习python系列(二)? WTF?
查看>>
shell脚本统计文件中单词的个数
查看>>
SPCE061A学习笔记
查看>>
sql 函数
查看>>
hdu 2807 The Shortest Path 矩阵
查看>>
熟悉项目需求,要知道产品增删修改了哪些内容,才会更快更准确的在该项目入手。...
查看>>
JavaScript 变量
查看>>
java实用类
查看>>
smarty模板自定义变量
查看>>