异常-编译期异常和运行期异常的区别

 1 package cn.itcast_03;
 2
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Date;
 6
 7 /*
 8  * 编译时异常和运行时异常的区别
 9  * 编译期异常:Java程序必须显示处理,否则程序就会发生错误,无法通过编译
10  * 运行期异常:无需显示处理,也可以和编译时异常一样处理
11  */
12 public class ExceptionDemo {
13     public static void main(String[] args) {
14
15         //运行时异常
16         int a = 10;
17         int b = 0;
18         if (b != 0) {//只要程序足够严谨,运行期对我们来说不是问题
19             System.out.println(a / b);
20         }
21
22         //编译时异常
23         String s = "2014-11-20";
24         // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
25         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
26         // Date d = sdf.parse(s);
27         try {
28             Date d = sdf.parse(s);
29             System.out.println(d);
30         } catch (ParseException e) {
31             // e.printStackTrace();
32             System.out.println("解析日期出问题了");
33         }
34     }
35 }
时间: 2024-10-06 00:29:25

异常-编译期异常和运行期异常的区别的相关文章

c++ 编译期与运行期总结

分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 转自:http://hi.baidu.com/zhaoyong200518/item/8516dc59a65be1968d12edff c++ 编译期与运行期总结 一 见识编译期的力量 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #in

String类编译期与运行期分析

字符串与字符串相加--字符串拼接时,有哪些特殊的地方? 在编译期与运行期这2个期间,字符串有何特点? 1.String s = "s1"; String s1 = "s"+1; System.out.println(s=s1); 运行结果:true 编译期时,能确定s1的值--因为s是常量,1也是常量.在编译时,s1的值就已经等于s1了. 所以,输出时,s1对象不会创建,直接指向s所指的这个对象. 2.String s = "s1"; int s

深入分析Java的编译期与运行期

不知大家有没有思考过,当我们使用IDE写了一个Demo类,并执行main函数打印 hello world时都经历了哪些流程么? 想通过这篇文章来分析分析Java的执行流程,或者换句话说想聊聊Java的编译期与运行期的流程. 开门见山 编译期间都做了什么 运行期间都做了什么 1. 开门见山 public class MyApp { public static void main(String[] args) { System.out.println("hello world"); } }

java 19 - 4 编译期异常和运行期异常的区别

1 /* 2 编译时异常和运行时异常的区别 3 编译期异常:Java程序必须显示处理,否则程序就会发生错误,无法通过编译 4 运行期异常:无需显示处理,也可以和编译时异常一样处理 5 */ 6 import java.text.ParseException; 7 import java.text.SimpleDateFormat; 8 import java.util.Date; 9 public class ExceptionDemo { 10 public static void main(

constexpr:编译期与运行期之间的神秘关键字

Scott Meyers在effective modern c++中提到"If there were an award for the most confusing new word in C++11, constexpr would probably win it." 由此可见,constexpr确实是比较难以让人理解.加之其在C++11和14中的标准略有不同,也加剧了这种难度. 参考几本经典教材(C++ primer, effective modern C++, a tour of

编译期多态和运行时多态

前言 今日的C++不再是个单纯的"带类的C"语言,它已经发展成为一个多种次语言所组成的语言集合,其中泛型编程与基于它的STL是C++发展中最为出彩的那部分.在面向对象C++编程中,多态是OO三大特性之一,这种多态称为运行期多态,也称为动态多态:在泛型编程中,多态基于template(模板)的具现化与函数的重载解析,这种多态在编译期进行,因此称为编译期多态或静态多态.在本文中,我们将了解: 1.什么是运行期多态   2.什么是编译期多态   3.它们的优缺点 运行期多态 运行期多态的设计

Java编译期和运行期

Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢? ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class ConstantFolding {       static final  int number1 = 5;       static final  int number2 = 6;       static int number3 = 5;       static int number4= 6;       

异常~异常用的大多是处理异常,我一般是写自定义异常

自定义异常类: java提供的异常类,不够我们使用,需要自己定义一些异常类格式: public class XXXExcepiton extends Exception | RuntimeException{ 添加一个空参数的构造方法 添加一个带异常信息的构造方法 } 注意: 1.自定义异常类一般都是以Exception结尾,说明该类是一个异常类 2.自定义异常类,必须的继承Exception或者RuntimeException 继承Exception:那么自定义的异常类就是一个编译期异常,如果

Javac早期(编译期)

从Sun Javac的代码来看,编译过程大致可以分为3个过程: 解析与填充符号表过程. 插入式注解处理器的注解处理过程. 分析与字节码生成过程. Javac编译动作的入口是com.sun.tools.javac.main.JavaCompiler类,上述3个过程的代码逻辑集中在这个类的compile()和compile2()方法中,整个编译最关键的处理就由图中标注的8个方法来完成,下面我们具体看一下这8个方法实现了什么功能. 解析与填充符号表 解析步骤由上图中的parseFiles()方法(过程