源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

浅谈异常结构图、编译期异常和运行期异常的区别

  • 时间:2021-06-22 15:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:浅谈异常结构图、编译期异常和运行期异常的区别
[b]异常处理一般有2种方式,要么捕获异常try-catch,要么抛出异常throws[/b] 如果一个方法后面抛出一个运行时期异常(throws RuntimeException),调用者无须处理 如果一个方法后面抛出一个编译时期异常,调用者必须处理,或者抛出或者try-catch; 运行时期的异常一般都不处理,一般是程序逻辑上的错误,比如分母为0作为除数了。。。 注意如果在try里面出现了异常后,try下面的语句就不会执行,回去寻找catch匹配异常处理会,接下来的语句会处理的(也就是在try-catch-finally之后的语句会继续执行) /*  * 有些时候,我们是可以对异常进行处理的,但是又有些时候,我们根本就没有权限去处理某个异常。  * 或者说,我处理不了,我就不处理了。  * 为了解决出错问题,Java针对这种情况,就提供了另一种处理方案:抛出。  *  * 格式:  *         throws 异常类名  *         注意:这个格式必须跟在方法的括号后面。  *  * 注意:  *         尽量不要在main方法上抛出异常。  *         但是我讲课为了方便我就这样做了。  *  * 小结:  *         编译期异常抛出,将来调用者必须处理。  *         运行期异常抛出,将来调用可以不用处理。  */ 凡是RuntimeException及其子类的异常都不处理(不抛出也不捕获),如果真的知道运行时会有异常抛出的话,,那么直接检查修改程序的逻辑就OK!!!
package 异常;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ExceptionDemo {
 public static void main(String[] args) {
  System.out.println("调用方法之前");
  try {
   method();// 编译时期异常抛出必须处理
  } catch (ParseException e) {
   e.printStackTrace();
  }
  System.out.println("调用方法1后在调用方法二");
  method2();
 }

 public static void method2() throws RuntimeException{
  int a = 10;
  int b = 0;
  System.out.println("a/b="+a/b);//运行时期异常可以不用处理,如果处理为抛出异常throws,那么调用者也无需必须处理异常
 }

 public static void method() throws ParseException {
  String string = "2015-05-30";
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//会逐步匹配string格式,不对就抛异常
  SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//如果string只有2015-05-30,没有后面的,那么会跑异常,因为这个sdf2无法匹配HH:mm:ss
  Date date = sdf.parse(string);
  System.out.println("日期格式化:" + date);
 }

}
异常结构图: [img]http://files.jb51.net/file_images/article/201609/20150530120436231.jpg[/img] [img]http://files.jb51.net/file_images/article/201609/20150530120445996.jpg[/img] error的异常我们程序员不用处理也处理不了, runtimeexception的运行时期异常我们也无需处理, 其他的就是编译时期的异常我们就要处理了。 以上就是小编为大家带来的浅谈异常结构图、编译期异常和运行期异常的区别的全部内容了,希望对大家有所帮助,多多支持编程素材网~
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部