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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周斌 中级黑马   /  2012-11-5 17:34  /  1900 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class MyException extends Exception
  2. {
  3. MyException(){}

  4. }
  5. class A
  6. {
  7. public int format(String str)throws MyException
  8. {
  9. int i = Integer.valueOf(str);
  10. return i;
  11. }
  12. }
  13. public void testTester()
  14. {
  15. new A().format("1");
  16. }
复制代码
定义了以上的类和测试方法,那么测试时期待要捕获什么异常呢?

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
看来你没搞懂异常到底是什么东西。

异常是只程序出现的错误 1。编译错误 2。运行错误    如果没有错误,那么你是看不到异常具体的行为的。

一般我们自己定义的异常属于运行时的错误,遇到该错误时系统会对其进行捕捉(程序必须写好会预见的错误)然后反馈。

捕获异常的方式有2种,一个是遇到异常中断程序直接抛出异常。(你这个就是)

还有一个是遇到异常进行调试,具体的调试内容看这个异常是怎么写的了(一般基本也是中断程序抛处异常。。)try()catch(){}fanilly{};

基本概论就是这样 要好好理解啊!

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这样的代码我感觉不舒服了 。
回复 使用道具 举报
本帖最后由 林晓泉 于 2012-11-6 09:13 编辑
  1. class MyException extends Exception
  2. {
  3. MyException(){}

  4. }
  5. class A
  6. {
  7. public int format(String str)throws MyException
  8. {
  9. int i = Integer.valueOf(str); //这个方法声明了有异常抛出。可是方法体里根本没有抛出异常的对象
  10. return i;//这个方法要说明一下,在什么情况下要抛出异常 如:if (i==0) throw new MyException();
  11. }
  12. }
  13. public void testTester()
  14. {
  15. new A().format("1");//format方法抛出了编译时异常,所以调用的时候要处理它 就用try{}catch(){}
  16. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马