[Java] try catch与if else

try catch与if else

if(#)
{
doSomething();
}
else
{
doAnotherThing();
}
这是一个简单的if else语句,当满足if中的#条件时,执行doSomething(),否则执行doAnotherThing()。
try {
逻辑代码块;
} catch(ExceptionType e) {
处理代码块;
}
这是一个try catch 语句,程序尝试执行try中的逻辑代码块,如果出现异常则实行处理代码块。

两者在逻辑上还是非常相似的,那么为什么java要采用try catch来处理
在网上搜集资料后,大概总结了一下
if … else…属于程序结构中的分支结果,try…catch属于顺序结构,虽然说在出现异常的时候编译器会跳到捕获异常的入口处,但这是和传统意义上if … else结构存在根本性的差别。
也就是说,if else是人工判断逻辑结果,而try catch包含了更多异常比如机械处理异常。
好比如果因为环境问题导致代码执行异常,如果if else没有考虑进去和加入确切的条件,程序就会崩溃,而try…catch会进入catch阶段

下为应用场景的判断

if中的条件无法获得时,比如出现无返回值的错误时,用try catch
所有异常都能预知时,用if else,否则用try catch

在使用try-catch和if-else语句时,它们在处理异常时有一些区别。try-catch用于异常捕获,当try分支语句执行出现异常时,异常会被catch捕捉到并执行catch分支语句。这种机制可以处理运行时的异常,避免程序崩溃。 相比之下,if-else语句是用于条件判断的,它是在条件成立或不成立的情况下执行不同的代码分支。在某些情况下,如果可以提前知道所有可能的异常情况,可以使用if-else语句进行条件判断。但是在一些情况下,很难提前判断异常的发生,这时我们可以使用try-catch来处理异常。 总的来说,如果所有的异常都能在编码时预知,并且能够通过条件判断来处理,那么可以使用if-else语句。但是如果有一些异常是无法预知的,或者无法通过条件判断来处理,那么就需要使用try-catch语句来捕捉和处理异常。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [try catch和if else语句的区别](https://blog.csdn.net/haohaoxuexiyai/article/details/116301415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [[Java] try catch与if else](https://blog.csdn.net/Podenco/article/details/124848570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值