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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小泉真也 中级黑马   /  2014-1-14 21:51  /  1030 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小泉真也 于 2014-1-15 10:38 编辑
  1. try
  2.                 {
  3.                
  4.                 }
  5.                
  6.                 catch(Exception e)
  7.                 {
  8.                
  9.                 }
复制代码
问一下有点模糊的概念问题。

Q【1】在捕获异常的catch语句中,e 是表示什么?是像int x = 1 ,这里的x的作用吗,作为一个参数?


这个e 可以用任意的字母符号什么的代替吗?

Q【2】
class   xxxxExceptio extends Exception
每次写带有异常的类的时候, 【extends Exception】是表示直接继承父类Exception 吗?这个Exception 也就是说隐藏的父类?


Q【3】
Q2 中的这个类的写法,和   throws xxxxException  的区别,意思是说   前者,告诉你在这里会有异常,  后者 是说在这里 声明一个名字叫---的异常?


评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

6 个回复

倒序浏览
1,当你的try语句中出现异常时,会抛出异常,通过catch捕获将异常的信息赋值给e。可以用其他字母符号代替
2是的
3throws xxxxException  是写在方法上的,用来声明异常的。表示这个方法中可能存在异常,当异常真的出现的时候,就抛出。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
Q【1】e代表你起的异常的名字,一般写法上用e,也可以用其他的自己定义的名字,如ex
Q【2】是。XXXXException是表示的一个更加具体的异常
Q【3】在Q[2]xxxxException只是定义了一个新的异常类,它继承自父类EXception。Q[3]是抛出异常的一种写法,写在方法的后面,自动将将遇到的所的XXXXException异常抛出。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
throws是用在方法名之后的,说明该方法可能会抛出一个或多个异常。谁使用该方法,必须用try捕获或者用throws抛出。
throw 是用在catch块内的,表示遇到异常之后就要抛出异常。
要处理异常,并且抛出时用 try catch,catch可以有多个,用来匹配多个异常
Exception e是捕获的异常信息,并且根据异常信息,做出相应的处理。用e.toString();在控制台查看异常(e为形参,是什么字母无所谓,只要不和其他变量名称重复)
Exception 类是异常从其进行继承的基类。大多数异常对象都是 Exception 的某个派生类的实例,不过,任何从 Object 类派生的对象都可以作为异常引发。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
大大老伴要跪IT 发表于 2014-1-14 23:16
1,当你的try语句中出现异常时,会抛出异常,通过catch捕获将异常的信息赋值给e。可以用其他字母符号代替
2 ...

谢谢。回答得很好,思路明朗了许多
回复 使用道具 举报
dapeng111 发表于 2014-1-14 23:44
Q【1】e代表你起的异常的名字,一般写法上用e,也可以用其他的自己定义的名字,如ex
Q【2】是。XXXXExcepti ...

谢谢。理清了一下,好多了。没有计算机基础,刚刚开始看有点乱套了。
回复 使用道具 举报
张志明 发表于 2014-1-14 23:46
throws是用在方法名之后的,说明该方法可能会抛出一个或多个异常。谁使用该方法,必须用try捕获或者用throw ...

仔细看确实throw 和throws  用的位置不一样,我知道他们意思不同,就是不理解怎么用。现在好多了 。
谢谢你的回答
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马