zoukankan      html  css  js  c++  java
  • try catch finally

    try catch finally是Java语言的最基本的知识,估计大家都已经再熟悉不过了,初学者可以百度一下,一大堆;

    但是要真正理解这个语句,需要反复思考联系;

    try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } 
    
    catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } 
    
    finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally } 

    这个语句有一个重要的点就是throw;

    throw可以抛出与之相应的try块中的异常,常常写在catch中,执行到throw语句后程序就终止了,后面的不会执行;

    当这个抛出异常的try快外面还有一层函数,此函数也有相应的try,catch语句,但由于内层的try,catch语句执行成功,外层的catch也认为执行成功,所以不会执行catch分支,但是会接受throw出来的异常信息;

    下面是代码实例和运行结果:

    package test;
    
    public class test_do {
        static void procedure() {
            try {
                int a = 0;
                int b = 3/a;
            } catch(java.lang.ArithmeticException e) {
                System.out.println("in procedure, catch ArithmeticException: " + e);
            }
        }
        public static void main(String args[]) {
            try {
                procedure();
            } catch(java.lang. Exception e) {
                System.out.println("in main, catch Exception: " + e);
            }
        }
    }

    结果:

    in procedure, catch ArithmeticException: java.lang.ArithmeticException: / by zero
  • 相关阅读:
    Linux 系统的启动过程
    Oracle中row_number()、rank()、dense_rank() 的区别
    Java 动态打印菱形代码之for循环的使用
    Oracle 体系结构chapter2
    Oracle 11g 概述 chaper1
    go解决ctrl+鼠标左键或F12失效问题
    解决unrecognized import path "golang.org/x/sys/windows"问题
    设计规范
    性能分析
    用IDEA导入项目时,项目中的SpringBoot注解无法识别
  • 原文地址:https://www.cnblogs.com/yinguojin/p/9958064.html
Copyright © 2011-2022 走看看