package other_class; import java.util.*; import java.text.SimpleDateFormat; import java.text.ParseException; public class Time { public static void main(String[] args) { // TODO Auto-generated method stub Date d=new Date(); System.out.println(d); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String today=sdf.format(d); System.out.println(today); String day="1997年07月16日16时16分16秒"; SimpleDateFormat sdf1=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒"); Date date=sdf1.parse(day);//这里一定要异常处理才能运行 //Date date; //try { // date = sdf1.parse(day); // System.out.println(date); //} catch (ParseException e) { // e.printStackTrace(); //} } }
package other_class; import java.util.Scanner; public class shang { public static void main(String[] args) { Scanner scan=new Scanner(System.in); int a=scan.nextInt(); int b=scan.nextInt(); int c=a/b;//这里有可能异常为什么不用异常处理也能运行 System.out.println(c); //try{int c=a/b; //System.out.println(c); //}catch(Exception e){ // e.printStackTrace(); //} }}
第一个代码中Date date=sdf1.parse(day);一定要异常处理才能运行
而第二个代码中int c=a/b;也有可能出现异常可是不用异常处理也能运行
这是为什么????
Exception分为两类:一种是CheckedException,一种是UncheckedException。这两种Exception的区别主要是CheckedException需要用try...catch...显式的捕获,而UncheckedException不需要捕获