java catch多個異常 Javaweb為什么有那么多try catch?
Javaweb為什么有那么多try catch?感謝您的邀請?jiān)贘ava中試用catch不會影響性能。1. 每個類后面都會有一個異常表,每個try-catch都會在此表中添加一行記錄。每條記錄有四個信息
Javaweb為什么有那么多try catch?
感謝您的邀請
在Java中試用catch不會影響性能。
1. 每個類后面都會有一個異常表,每個try-catch都會在此表中添加一行記錄。每條記錄有四個信息(try-catch的起始地址和結(jié)束地址、異常處理的起始位、異常類的名稱)。
2. 當(dāng)代碼在運(yùn)行時拋出異常時,首先將拋出位置移到異常表中,以確定是否可以捕獲該異常(例如,查看該位置是否在任何列的起始位置和結(jié)束位置之間)。如果可以,運(yùn)行到異常處理的起始位置開始處理。如果找不到異常,則返回原地,并將異常復(fù)制到父調(diào)用方。然后在異常表中查找父調(diào)用等。
1. 如果沒有例外,你就不會查表了。也就是說,是否編寫try-catch就是是否存在異常表的問題。如果沒有異常,那么編寫try-catch不會消耗任何性能,因此不會使程序運(yùn)行變慢。
2. try的范圍大小實(shí)際上是exception表中兩個值(起始地址和結(jié)束地址)的差值,它不會影響性能。