看板 Fortran 關於我們 聯絡資訊
請問一下 一般副程式或函式被呼叫時,當執行結束後會回到呼叫的副程式或函式再繼續往下執行 請問有辦法可以直接跳到最初的副程式嗎? 舉例如下 A呼叫B,B呼叫C,C呼叫D 如果讓B有一個ENTRY,讓D呼叫B的ENTRY後,可以回到A 目前的感覺好像不行 D呼叫B的ENTRY後,似乎還是會回到C -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.120.114
MHG:遞迴?! 12/17 17:28
Semisphere:四個sub都自己寫的嗎 12/17 19:40
hiyiyi:我剛試了一下,流程還是是一條龍的去跟回,不知是否有像VB 12/20 09:49
hiyiyi:的Try Catch的攔截功能 12/20 09:50
Semisphere:若要針對IO錯誤進行攔截,得要自己寫相關偵測函式 12/20 13:11
Semisphere:不過我不太瞭解你副程式D要如何呼叫副程式B的Entry? 12/20 13:13
Semisphere:印象中Fortran沒有System.Exception,想攔截其他錯誤 12/20 13:14
Semisphere:就等他炸掉看Debug資訊吧xd 12/20 13:15
hiyiyi:主要是想要讓別人的程式轉為module包裝,可是他的錯誤訊息 12/20 16:58
hiyiyi:是呼叫某一個sub來處理,但是中間過程有太多function 12/20 16:59
hiyiyi:這樣沒辦法用主程式來控制錯誤訊息的處理,除非大改寫=.= 12/20 17:01
Semisphere:可以改寫就代表有程式碼可以用,開個全域變數 12/21 11:38
Semisphere:到他處理錯誤訊息的sub,將各種情況賦值給全域變數 12/21 11:39
Semisphere:在將處理錯誤訊息的sub,轉到你自己要處理的sub 12/21 11:41
Semisphere:用全域變數判斷情況 12/21 11:41
Semisphere:僅供參考,這得看你程式架構才能決定何種處理方式最好 12/21 11:43