Java异常处理机制

Jav*_*ser 1 java multithreading exception-handling exception

在Java中,如果我没有捕获抛出的Exception,那么Thread执行会在其他地方停止,如果我抓住它,那么在catch块之后继续执行Thread.Why以这种方式设计Java异常处理.

谢谢

Ada*_*erg 5

异常的目的是让程序理解发生了奇怪的事情,因此在程序中通常会做的事情很可能是错误的.你打电话的功能无法给你一个真正的答案,而你依靠的是答案,所以它必须阻止你.

这可以通过两种方式结束:您处理异常(通过catch块),或整个程序停止.

如果你的程序在这些事情发生时不知道该怎么做,最好什么也不做.让异常崩溃线程,然后您可以稍后检查崩溃日志,并找出崩溃程序的原因以及原因.如果您的程序无法处理错误,Exception的"崩溃线程"行为可以让您查看未处理的错误,因此您可以更改程序以使其能够在将来处理此类情况,或者防止出现这种情况从发生.

但是,有些错误可能是正常的,并且不应该停止整个程序 - 您需要有一种方法从它们中恢复.这就是catch块的用途:有机会说"Hello Java,我知道如何处理这个问题",然后去做.如果可以,Catch块可让您清理程序并继续前进.Java假设您的Catch块处理问题并使其消失.如果有一个新问题,或者同一个问题,你需要throw再次捕获异常,或者可能是一个新问题,所以其他东西可以尝试解决问题 - 即使你是其他东西,作为程序员.

如果异常总是使程序崩溃,则无法处理预期的错误并且可以处理.但是如果没有任何东西准备好处理错误,那么程序就无法继续运行,因为现在有些东西变得怪异而且它不知道该做什么因为你没有编程来做任何事情.