抛出异常有什么用?
我感觉抛出跟不抛出没啥区别啊public class ExceptionDemo {
public static void main(String[] args) throws Exception
{
div d=new div();
int num=d.div(4,0);
System.out.println(num);
}
System.out.println("test");
}
}
class div
{
int div(int a,int b)throws Exception //声明异常
{
return a/b;
}
}
======================================================================
public class ExceptionDemo {
public static void main(String[] args)
{
div d=new div();
int num=d.div(4,0);
System.out.println(num);
}
System.out.println("test");
}
}
class div
{
int div(int a,int b)
{
return a/b;
}
}
===============================================
前者是主函数和div函数都 加了throws Exception 后边的代码没有,运行结果都是
Exception in thread "main" java.lang.ArithmeticException: / by zero
at div.div(ExceptionDemo.java:34)
at ExceptionDemo.main(ExceptionDemo.java:17)
后面的输出 test都没有执行。
有什么区别吗? --------------------编程问答-------------------- 1、不至于程序彻底崩溃,影响用户体验。
2、在编写代码的时候,可能有些问题考虑的不是很周到,用来处理错误出现时带来的问题。 --------------------编程问答--------------------
我发现有没有throws Exception 结果都一样。
如果抛的是Exception的子类 就不用加throws Exception,如果抛的是Exception的话,就得加上 throws Exception。
谁能解释下 --------------------编程问答-------------------- 楼主看看这个博客吧。传送门 --------------------编程问答-------------------- 异常处理是一种编程习惯,也是一种JAVA编程的基本规范。抛出与不抛出也是为了让程序员更好的发现程序的错误并解决 --------------------编程问答-------------------- 1.处理程序错误
2.记录程序异常日志
3.释放因异常而未关闭的资源,如:file,socket,pipe等 --------------------编程问答-------------------- 一种JAVA编程的基本规范 --------------------编程问答-------------------- throws Exception 是抛出所有的异常,包括所有的子类。 --------------------编程问答--------------------
我感觉抛出跟不抛出没啥区别啊
public class ExceptionDemo {
public static void main(String[] args) throws Exception
{
div d=new div();
int num=d.div(4,0);
System.out.println(num);
}
System.out.println("test");
}
}
class div
{
int div(int a,int b)throws Exception //声明异常
{
return a/b;
}
}
======================================================================
public class ExceptionDemo {
public static void main(String[] args)
{
div d=new div();
int num=d.div(4,0);
System.out.println(num);
}
System.out.println("test");
}
}
class div
{
int div(int a,int b)
{
return a/b;
}
}
===============================================
前者是主函数和div函数都 加了throws Exception 后边的代码没有,运行结果都是
Exception in thread "main" java.lang.ArithmeticException: / by zero
at div.div(ExceptionDemo.java:34)
at ExceptionDemo.main(ExceptionDemo.java:17)
后面的输出 test都没有执行。
有什么区别吗?
第一个程序 应用了throws Exception,int div(int a,int b)throws Exception //声明异常
这样调用div方法时产生的异常就不直接在这里处理,而是把异常抛出给调用它的方法,继续执行程序。 --------------------编程问答-------------------- 只是仅仅声明了异常,又没有捕捉处理,LZ期望会有什么区别呢?
补充:Java , Java SE