现在正在做一个JAVA课的实验,遇到一个问题,不知道是太难了还是太简单了,我在网上没有找到了这两个问题的答案,所以就来CSDN请教。我在线等候,O(∩_∩)O哈哈~ 
问题如下:
         1.定义异常类,当从键盘输入A或a时,抛出自定义异常。
2.程序中捕获异常,查看异常抛出的位置。
3.不捕获异常,将异常往上传递。
我只实现了第一问:代码如下:
package org.motian.java7_2;import java.util.Scanner;class MyException extends Exception {
String message;
MyException ( String ch_in){
message = "由于输入了字符:"+ch_in+",所以抛出了异常!";
}
public String getMessage (){
return message;
}
}
class checkException {
public void check (String ch_in ) throws MyException {
if ( ch_in.equalsIgnoreCase(ch_in)){
MyException ex = new MyException ( ch_in );
throw ( ex );
}
System.out.println ("输入的字符不会引起异常!");
}

}
public class Character {
public static void main (String args []){
Scanner reader = new Scanner ( System.in);
System.out.println("请输入一个字符:");
String ch_1 = reader.nextLine();
checkException cha = new checkException ();
try {
cha.check(ch_1);
}
catch (MyException e ){
System.out.println( e.getMessage());
}
}}
请问如何实现第二问和第三问,O(∩_∩)O哈哈~。在这先O(∩_∩)O谢谢拉。

解决方案 »

  1.   

    不过我觉得 我们的理解是错误的 只有第一问才是让自定义异常类
    第二第三不需要自定义异常类第二问try一下就可以第三问不try 在方法上throwsO(∩_∩)O~
      

  2.   

    throws 向调用函数抛出异常,请他来捕获
      

  3.   

    去看api吧,其实你要学的是学习方法,而不是具体的某一道题,就算人给你答案了你肯定会忘得,要有独立学习的能力
      

  4.   

    错了一个地方。将: ch_in.equalsIgnoreCase(ch_in)修改成: ch_in.equalsIgnoreCase("a")
     太粗心大意了 
      

  5.   

    我认为这应该是同一个题目,目的在于对异常控制的练习
    问题2应该是练习准确catch异常
    问题3是练习处理异常的多种方式,或者抛出异常的多种方式
    都是很简单的基础,随便写个例子,触类旁通就行了
      

  6.   

    http://blog.csdn.net/xiebird/archive/2010/01/11/5175617.aspx