java自动抛出与手动抛出

2018-06-28     17:03:55 

1、全局变量与局部变量

       全局变量可初始化,而局部变量必须初始化     

2、静态

    引用静态类时,本身必须是静态的类

3、有参数与无参数

4、手动直接抛出

5、throws抛出

6、从键盘中输入Scanner 

import java.util.Scanner;
public class Test_TLDY1 {
    public static int age;//成员变量自动初始化为零
    private static String name;
    
    //非静态的公有的方法(无参)
    public void TestNSE(){
        int a=1;//局部变量必须初始化
        System.out.println("第一个输出来:TestNSE()");
        if(a==1){
            throw new RuntimeException("正常情况");  //手动直接抛出正常情况
        }else{
            throw new RuntimeException("异常情况");  //手动直接抛出异常情况
        }
    }
    //静态的公有的方法(无参)
    public static void TestSE() {   
        System.out.println("第二个输出来:TestSE()");
    }
    
    //静态的公有的方法(带参数)
    public static void TestSPE(int age) {
        System.out.println("第三个输出来:TestSPE()---age="+age);
    }
    
    public static class XW{
        
        public static void TestNSPE(String name) throws StaticParameterException{//自定义异常名  异常抛出代码
            //TestSE();//静态异常
            TestSPE(age); //调用TestSPE方法
            System.out.println("第四个输出来:TestNSPE--name="+name);
        }
        
        
    
        public class StaticParameterException extends Exception{
            public StaticParameterException(){
                System.out.println("----------------------------------");
            }
        }
    }
    public static void main(String [] args ) {
        Scanner sca=new Scanner(System.in);        
        System.out.print("请输入姓名name的值:name=");
        name=sca.nextLine();//输入字符串
        //两个换个位置就输不出name
        System.out.print("请输入年龄age的值:age=");
        age=sca.nextInt();    //输入数字
        
        Test_TLDY1 TT = new Test_TLDY1();
        try{            
            TT.TestNSE();//非静态异常(一)
        }catch(Exception e){ //捕捉异常情况  TestSE();
            System.out.println("第一个输情况是:"+e);
        }
        
        try{
            TT.TestSE();//静态异常(二)
        }catch(Exception e){ //捕捉异常情况  TestSE();
            System.out.println("第二个输情况是:"+e);
        }

        XW x=new XW();
        try{
            x.TestNSPE(name);
        }catch(Exception e){
            System.out.println("自定义异常情况出现:"+e);
        }
    }
 }

 

posted @ 2018-06-28 17:06  Aimin20210819  阅读(27)  评论(0)    收藏  举报