Java学习日记——异常处理(try-catch)、自定义异常(throw抛出异常对象) 20190307

Learning

异常处理

1、处理异常
①错误
NumberFormatException
ArithmeticException

②捕捉异常(try、catch、finally)
try——存放可能发生异常的语句
catch——激发被捕获的异常
finally——异常处理结构的最后执行部分

try{
	    //代码
	    }
	catch(Exceptiontype1 e){
	    //处理1
	    }
	catch(Exceptiontype 2 e){
	 //处理2
	 }
	……
	finally{
	      //程序
	      }

a) try-catch语句块

  public class Take {
         public static void main(String [] args){
            try {
                 String str = "lili";
                 System.out.println(str+"age is:");
                 int age = integer.parselnt("20L");
                 System.out.println(age);
                }catch (Exception e){
                   e.printStackTrace();
                   }
                System.out.println("program over");
                }
                }

**getMessage()——输出错误性质
toString()——输出异常类型&性质
printStackTrace()——指出异常的类型、性质、栈层次及出现在程序中的位置
**
b)finally语句块——一定执行,除非异常、代码退出、线程死亡、关闭CPU

2、自定义异常——继承Exception类

1)创建自定义异常类
2)在方法中通过throw关键字抛出异常对象
3)若在当前抛出异常的方法中处理异常,用try-catch语句块捕获并处理。
4)在出现异常方法的调用者中捕获并处理异常

public class Tran {
        static int avg(int number1,int number2)throws MyException{
               if(number1<0||number2<0){
                    throw new MyException("负数");
                    }
              if(number1>100||number2>100){
                   throw new MyException("太大了");
                   }
               return (number1+number2)/2;   //返回参数平均值
               }
          public static void main(String[] args){
              try{
                 int result = avg(102,150);
                 System.out.println(result);
                 }catch (MyException e){
                     System.out.println(e);
                     }
                   }
                }

3、运行时异常——RuntimeException

你可能感兴趣的:(java)