java基础_异常

package j2se;
import java.util.Scanner;

public class DM002 {
	public static void main(String[] args) {
		DT d=new DT();
		try{//这里去处理,这里不想处理,就在主函数上边第5行再往上抛,抛给jre
			d.qq();
		}
		catch(Exception e){
			System.out.println("输入有误");
		}
		finally{
			System.out.println("程序继续运行中");
		}

	}
}

class DT{
	Scanner in=new Scanner(System.in);
	public void qq() throws Exception{//抛给调用这个方法的地方去处理,向上抛
		int a=in.nextInt();
		int b=in.nextInt();
		int c=a%b;
		System.out.println("余数为"+c);

	}
}

  ======

package j2se;
import java.util.*;

class DM{
	Scanner in=new Scanner(System.in);
	public void qy(){
		try{
			int a=in.nextInt();
			int b=in.nextInt();
			int c=a%b;
			System.out.println("余数为"+c);
		}
		catch(Exception e){
			System.out.println("输入有误");
		}
		finally{//finally最后一定会执行
			System.out.println("程序运行中");
		}
	}
}
public class DM001 {
	public static void main(String[] args) {
		DM d=new DM();
		d.qy();
	}
}

  =====手动一个新的异常

package j2se;

public class MyException extends Exception {
	public MyException(){
		
	}
	
	public MyException(String message){
		super(message);
	}
}

==============================

package j2se;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class TestReadFile {
	public static void main(String[] args) {
		String str=new TestReadFile().openFile();
		System.out.println(str);
	}

	String openFile(){
		try{
			System.out.println("aaa");
			FileInputStream fis=new FileInputStream("d:/a344.txt");
			int a=fis.read();
			System.out.println("bbb");
			return "step1";//先确定返回的值,并不会直接结束运行
		}catch(FileNotFoundException e){
			System.out.println("catching!!!!!!!");
			return "step2";
		}catch(IOException e){
			e.printStackTrace();
			return "step3";
		}finally{
			System.out.println("finally");
			//return "fff";//不要在finally是使用return
		}
	}
}

  

 try catch finally  return 执行顺序

1.先执行try catch ,给返回值赋值

2.执行finally

3.return

原文地址:https://www.cnblogs.com/youning/p/6828325.html