java基础--异常

2018-08-02  本文已影响0人  逆风的妞妞

1.处理异常

try-catch以及try-catch-finally捕获异常

try{

    //一些会抛出异常的方法

}catch(Exception e){

  //处理该异常的代码块

}finally{

  //进行善后工作,最重要执行的一段代码,例如关闭文件

}

抛出异常后,程序中执行,程序的控制权将被移交给catch块中的异常处理程序。

注意:要按照先小后大,先子类后父类编写catch块。

finally是在try和catch语句块在执行return之后返回调用者之前被执行的。

package com.imooc;

public class TryExceptionTest {

public static void main(String[] args) {

TryExceptionTest tct =new TryExceptionTest();

        int result = tct.test();

        System.out.println("test()方法执行完毕,返回值为:" + result);

        int result2 = tct.test2();

        System.out.println("test2执行完毕,返回值为:" + result2);

        int result3 = tct.test3();

        System.out.println("test3执行完毕,返回值为:" + result3);

    }

public int test(){

int divider =10;

        int result =100;

        try{

while (divider > -1){

divider--;

                result = result +100/divider;

            }

return result;

        }catch (Exception e) {

e.printStackTrace();

            System.out.println("循环抛出异常");

            return -1;

        }

}

//加上finally进行修改

    public int test2(){

int divider =10;

        int result =100;

        try{

while (divider > -1){

divider--;

                result = result +100/divider;

            }

return result;

        }catch (Exception e) {

e.printStackTrace();

            System.out.println("循环抛出异常");

            return result =999;

        }finally {

System.out.println("这是finally");

            System.out.println("我是result,我的值:" + result);

        }

}

//如果try和catch、finally块中没有任何的return语句,则会调用三者之外的语句。

    public int test3(){

int divider =10;

        int result =100;

        try{

while (divider > -1){

divider--;

                result = result +100/divider;

            }

}catch (Exception e) {

e.printStackTrace();

            System.out.println("循环抛出异常");

        }finally {

System.out.println("这是finally");

            System.out.println("我是result,我的值:" + result);

        }

System.out.println("我是test3,我运行完了");

        return 1111;

    }

}

2.异常抛出

throw--声明将要抛出何种类型的异常

public void 方法名(参数列表)throws 异常列表{

//调用会抛出异常的方法或者:throw new Exception();

}

3.自定义异常

class 自定义异常类 extrends 异常类型{

}

上一篇下一篇

猜你喜欢

热点阅读