/*
Execption中有一个特殊的子类异常RuntimeException运行时异常。
如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。
如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过。
之所以不用在函数声明,是因为不需要让调用者处理。
当该异常发生时,希望程序停止,因为运行时,出现了无法继续运算的情况,希望停止程序后,
对代码进行修正。
自定义异常时:如果该异常的发生,无法再继续运算,就让自定义异常继承RuntimeException。
1.编译时被检测的异常。
2,编译时不被检测的异常(运行时异常。RuntimeException以及其子类)
凡是调用RuntimeException的都是希望程序停止下来。
如果希望修正代码时,希望程序停止下来继承RuntimeException
如果这个程序发生异常后,可以运行,继承Exception
*/
class FuShuException extends RuntimeException
{
FuShuException(String msg)
{
super(msg);
}
}
class Demo
{
int div(int a,int b)//如果下面抛出的是Exception,则这里必须throws Exception,且调用者也必须声明,要么抛要么停止程序。这时编译时检测的异常。
{
if(b<0)
throw new FuShuException("出现了除数为负数了");//如果这里是Exception则函数应声明Exception
if(b==0)
throw new ArithmeticException("被零除啦");
return a/b;
}
}
class ExceptionDemo4
{
public static void main(String[] args)
{
Demo d = new Demo();
int x = d.div(4,-9);
System.out.println("x="+x);
System.out.println("over");
}
}
/*
class Person
{
public void checkName(String name)
{
//if(name.equals("lisi"))//NullPonitException
if("lisi".equals(name))//这个就没问题,lisi调用方法,和null比较,而不是上面的null调用方法。
// if(name!=null && name.equals("lisi"))
System.out.println("YES");
else
System.out.println("NO");
}
}
main()
{
Person p = new Person();
p.checkName(null);//如果传空的话,空值是不能作比较的。
}
*/
Execption中有一个特殊的子类异常RuntimeException运行时异常。
如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。
如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过。
之所以不用在函数声明,是因为不需要让调用者处理。
当该异常发生时,希望程序停止,因为运行时,出现了无法继续运算的情况,希望停止程序后,
对代码进行修正。
自定义异常时:如果该异常的发生,无法再继续运算,就让自定义异常继承RuntimeException。
1.编译时被检测的异常。
2,编译时不被检测的异常(运行时异常。RuntimeException以及其子类)
凡是调用RuntimeException的都是希望程序停止下来。
如果希望修正代码时,希望程序停止下来继承RuntimeException
如果这个程序发生异常后,可以运行,继承Exception
*/
class FuShuException extends RuntimeException
{
FuShuException(String msg)
{
super(msg);
}
}
class Demo
{
int div(int a,int b)//如果下面抛出的是Exception,则这里必须throws Exception,且调用者也必须声明,要么抛要么停止程序。这时编译时检测的异常。
{
if(b<0)
throw new FuShuException("出现了除数为负数了");//如果这里是Exception则函数应声明Exception
if(b==0)
throw new ArithmeticException("被零除啦");
return a/b;
}
}
class ExceptionDemo4
{
public static void main(String[] args)
{
Demo d = new Demo();
int x = d.div(4,-9);
System.out.println("x="+x);
System.out.println("over");
}
}
/*
class Person
{
public void checkName(String name)
{
//if(name.equals("lisi"))//NullPonitException
if("lisi".equals(name))//这个就没问题,lisi调用方法,和null比较,而不是上面的null调用方法。
// if(name!=null && name.equals("lisi"))
System.out.println("YES");
else
System.out.println("NO");
}
}
main()
{
Person p = new Person();
p.checkName(null);//如果传空的话,空值是不能作比较的。
}
*/