Joh*_*ers 13
异常是从System.Exception类派生的类型的对象.它在throw语句中用于将控制转移到调用堆栈中某个位置catch的try块中的子句.
错误只是您要解释的一些代码或消息.错误代码的问题是您可以决定忽略它们:
MethodThatReturnsAnError();
SomeCodeThatShouldNotExecuteOnError();
Run Code Online (Sandbox Code Playgroud)
如果返回一个错误代码,该调用将简单地忽略错误代码.然而:
MethodThatThrowsAnException();
SomeCodeThatShouldNotExecuteOnError();
Run Code Online (Sandbox Code Playgroud)
这是不可忽视的,并且会将控制权转移到堆栈,超过" SomeCodeThatShouldNotExecuteOnError();".
Mic*_*ows 13
异常是一个利用语言语义的类.正如其他人所说,异常会中断执行堆栈直到被捕获.可以使用异常来传达错误,但更常见的是用于表示已发生异常的事件.
另一方面,错误可能是例外与否.
有几种错误:
实际上,异常应限于处理运行时错误,因为输入错误数据的用户不是"例外".要处理用户错误,您应采取以下方法:
应将异常用作用户错误的"最后一道防线".如果您正在编写持久层,则可以依赖异常来确保通过验证而丢失的错误数据不会持久存在.但是,您应该通过在验证中添加一个修复程序来解决这些错误,从而防止错误首先发生.