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); } } }

浙公网安备 33010602011771号