A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我爱大自然 中级黑马   /  2015-3-3 23:46  /  796 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 我爱大自然 于 2015-3-4 21:30 编辑
  1. public class TestException2 {
  2.         public static void main(String args[]){
  3.                 int a= 4,b=0;
  4.                 try{
  5.                         if(b==0)                                             
  6.                                 throw new ArithmeticException("一个算术异常");//抛出异常。

  7.                         else
  8.                                 System.out.println(a+"/"+b+"="+a/b); //若没抛出异常,则执行此行。
  9.                 }
  10.                 catch(ArithmeticException e){
  11.                         System.out.println("抛出异常为:"+e);
  12.                 }
  13.         }
  14. }
复制代码
关于第6行,抛出异常,为什么要加个new????希望大神帮忙解释下



2 个回复

倒序浏览
new的是对象。
异常,有名字,有信息.....,不同的异常被封装成了一个个对象。
所以,抛出的是一个对象。
回复 使用道具 举报
huangchunwei 来自手机 中级黑马 2015-3-4 08:07:13
藤椅
如果不new,那你想抛出什么?而你的主函数又不是异常类,不能直接不通过创建异常对象来直接抛异常的,在来说,异常都是Java封装好的对象,想用异常的功能,那就好new一个异常对象啊。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马