MyException
extends
Exception
继承Exception类
{
private
String
exceptionName
//定义一个私有变量,用来为自定义异常
public
MyException(){}
//创建一个无参数的构造函数
public
MyException(String
exceptionName){
//创建一个有参数的构造函数,传入的参数为前面定义的异常名称
this.exceptionName=exceptionName
}
public
String
getExceptionName(){
//定义一个方法,提供给外部来获取私有变量
return
this.exceptionName
}
public
static
void
main(String
[]
args){
try{
System.out.println("自定义的异常类对象")
throw
new
MyException("自定义的异常")//抛一个自定义的异常类对象,传入的参数就是给控制台看的异常
}catch(MyException
e){
System.out.println("异常信息:"+e.getExceptionName())
}
}
}
我已经尽力你……你懂的!
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)
}
}
}
你好,按照你的要求代码如下,你运行时,可以选择性的注释,比如要看到第二个异常,就要把第一段会抛出异常的代码注释掉就行了,看第三个异常同理public class A {
public static void main(String[] args) {
try {
System.out.println(1 / 0)//会抛出ArithmeticException
System.out.println(new int[] {}[0])//会抛出ArrayIndexOutOfBoundsException
String str = null
System.out.println(str.toString())//会抛出NullPointerException
} catch (ArithmeticException e) {
System.out.println("算术异常")
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标越界异常")
} catch (NullPointerException e) {
System.out.println("空指针异常")
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)