javaCopy codeclass MyException extends Exception {public MyException() {super()
}public MyException(String message) {super(message)
}
}class UsingMyException {public void f() throws MyException {
System.out.println("抛出异常MyException 从 f()方法") throw new MyException()
}public void g() throws MyException {
System.out.println("抛出异常MyException 从 g()方法") throw new MyException("从g()方法中抛出异常")
}
}public class TestException {public static void main(String[] args) {UsingMyException obj = new UsingMyException() try {
obj.f()
} catch (MyException e) {
System.out.println(e.getMessage())
}try {
obj.g()
} catch (MyException e) {
System.out.println(e.getMessage())
} finally {
System.out.println("最终结束")
}
}
}
在这个程序中,我们首先定义了一个MyException类,它继承自Exception类,并具有无参和一个字符串参数的构造函数。接下来,我们定义了一个普通类UsingMyException,并在其中定义了两个方法f()和g(),这两个方法都抛出MyException异常并输出相应的信息。最后,我们编写了一个测试类TestException,在其中调用了UsingMyException类的f()和g()方法,并使用try-catch语句捕获了抛出的异常,并输出相应的信息。我们还使用了finally关键字来确保在程序结束时执行某些特定的代码。
当您运行这个程序时,它将在控制台上输出符合您要求的内容。
public class NoOprandException{String a
String b
public NoOprandException(String a,String b){
this.a=a
this.b=b
}
public String errorException(){
if((a==null&&a.equals(""))&&(b==null&&b.equals(""))){
return "NoOprand错误!"
}
return
}
}
public class OnlyOneException{
String a
String b
public OnlyOneException(String a,String b){
this.a=a
this.b=b
}
public String errorException(){
if((a==null&&a.equals(""))||(b==null&&b.equals(""))){
return "OnlyOne错误!"
}
return
}
}
public class a{
public static void main(String[] args){
Scanner scan1=new Scanner(System.in)
Scanner scan2=new Scanner(System.in)
String line1=scan1.nextLine()
String line2=scan2.nextLine()
try{
throw new OnlyOneException(line1,line2)
}catch(OnlyOneException e){
System.out.print(e)
System.out.exit(0)
}
try{
throw new NoOprandException(line1,line2)
}catch(NoOprandException e){
System.out.print(e)
System.out.exit(0)
}
}
}
自定义异常类型是从Exception类中派生的,所以要使用下面的声明语句来创建:<class><自定义异常名><extends><Exception>{...}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)