java异常(Exception)处理 及多线程启动

1.NumberFormatException异常,编写过程没有显示错误,是被RuntimeException异常处理了

public class Gty {
    public static void main(String[] args) {        
        int a=Integer.parseInt("123e");
    }
}

2.产生异常,后面的语句不执

public class Gty {
    public static void main(String[] args) {        
        System.out.println("开始"); 
        int a=Integer.parseInt("123e");
        int b=Integer.parseInt("o"); //Exception (异常)   
        System.out.println("2. 除法计算:"+(a/b)); //产生异常,后面的语句不执行
        System.out.println("结束"); 
    }
}

运行结果:

3.1 try....catch处理异常 : “捕获异常”,顺序执行

public class Gty {
	public static void main(String[] args) {		
		System.out.println("计算开始");
		try {
			System.out.println("运算进行中:"+10/0);
		} catch (Exception e) {
			System.out.println("捕获异常"); //打印输出语句异常时,按顺序显示
		}finally {
			System.out.println("一定会执行的代码"); //finally{}代码一定执行
		}
		System.out.println("结束");		
	}
}

  

运行结果:

3.2  try....catch处理异常 :系统自带printStackTrace()方法处理异常,多线程的原理

public class Gty {
	public static void main(String[] args) {		
		System.out.println("计算开始");
		try {
			System.out.println("运算进行中:"+10/0);
		} catch (Exception e) {
			e.printStackTrace(); //系统提供的,显示位置不定(多线程原理);
		}finally {
			System.out.println("一定会执行的代码"); //finally{}代码一定执行
		}
		System.out.println("结束");		
	}
}

 

运行结果(一):

 

运行结果(二):

4.多线程的启动方式

public class Gty {
	public static void main(String[] args) {		
		System.out.println("开始");
		new Thread(new Runnable() { //匿名方法及匿名内容类     
  			@Override
			public void run() {
				// TODO Auto-generated method stub
				try {
					Thread.sleep(5000); //休眠5秒,继续执行   
       				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				System.out.println("进行中");
			}
			
		}).start();

  

原文地址:https://www.cnblogs.com/lxy151/p/8214772.html