要熟悉兩者區別之前,需要先了解 os.Exit() 函數。
我這里截一張 Go 源碼里面的解釋:

我們需要注意兩點:
1、應用程序會被馬上退出
2、defer 函數不會被執行
你可以理解這就是直接 kill -9 程序,不給任何喘氣的機會。
現在我們再來看看 log.Fatal 函數的定義:

整體來說,他在 os.Exit() 之前做了一個日志輸出。
他的流程可以理解是:
1、打印輸出內容
2、退出應用程序
3、defer 函數還是不會執行
最后我們來看下 panic 的定義:

我們需要注意的是:
1、當前函數立刻會停止執行(不是主程序)
2、defer 函數執行
3、返回給調用者 caller
4、調用函數假裝也收到了 panic 函數,從而他們也會執行以上的操作
5、遞歸執行,直到最上層函數,如果都沒函數處理這個異常,應用程序就會停止
這和其他語言里面的 try catch 很像,但是 Go 語言里面沒有類似的語法糖。
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
應用程序
+關注
關注
38文章
3344瀏覽量
60249 -
go語言
+關注
關注
1文章
159瀏覽量
9778 -
調用函數
+關注
關注
0文章
11瀏覽量
2483
發布評論請先 登錄
相關推薦
熱點推薦
利用Last Log(Ramoops)排查系統問題:配置與實踐指南
在嵌入式系統(如基于瑞芯微 RK3399 的 Android 設備)開發或維護中,系統常因內核崩潰(Panic)、用戶空間異常等突發情況重啟,導致關鍵日志丟失。此時,Last Log(依托
同樣能做采集控制,ARM邊緣AI控制器與PLC究竟區別在哪里?
僅能采集、能控制,還能跑算法、做邊緣計算、接云平臺、跑視覺AI應用。 于是一個問題來了:既然兩者功能看起來都能做采集和控制,為什么還要ARM控制器?它與PLC究竟差在哪?能不能替代? 今天我們就從真實工程需求角度,把這兩個“工控大類”擺上
三防漆和絕緣漆的區別在哪?怎么選呢?
,對于保障產品可靠性、優化成本控制具有直接意義。三防漆和絕緣漆的區別在哪?怎么選呢?功能定位三防漆的本質是一種環境屏障型涂層。其首要設計目標是保護已組裝完畢的印刷電路
Texas Instruments LOG300DEVM和LOG300RGTEVM評估模塊數據手冊
Texas Instruments LOG300DEVM和LOG300RGTEVM評估模塊 (EVM) 設計用于評估集成對數檢波器、低噪聲放大器 (LNA) 和輸入頻率檢測器的性能,所有這些都集成在
Texas Instruments LOG200EVM放大器評估模塊 (EVM)數據手冊
Texas Instruments LOG200EVM放大器評估模塊 (EVM) 是一個用于評估LOG200的開發平臺,LOG200是一款精密、高速對數放大器,集成了光電二極管偏置和暗電流校正功能
Texas Instruments LOG300 40MHz對數探測器數據手冊
Texas Instruments LOG300 40MHz對數探測器是一款由低噪聲放大器 (LNA) 和對數探測器模塊組成的集成模擬前端 (AFE)。該器件支持高達40MHz的輸入頻率范圍
實戰案例 | 基于ramoops的kernel panic故障定位技巧
、panic等死機現象。這時系統日志無法及時寫入flash,重啟后沒有存到任何關鍵信息,工程師也崩潰了。下文則基于眺望電子T113-i核心板產品為例,介紹如何在Li
仁懋TOLL/TOLT封裝系列區別在哪?
這兩大封裝系列的顯著區別!散熱方式大不同,熱性能差異顯著TOLL封裝采用底部散熱方式,熱量需歷經“Junction→Case→Solder→PCB→VIAs→PC
云服務器和獨立服務器的區別在哪?一文讀懂如何選擇
面對云服務器與獨立服務器的選擇,許多人常因概念模糊而糾結。云服務器和獨立服務器的區別在于資源分配方式、擴展性及成本結構,選擇時需結合業務需求權衡利弊。本文將從兩者核心差異進行對比,為大家提供參考依據。
全棧開發進階指南:LuatOS-log庫從入門到實戰!
本文將帶你深入探索LuatOS系統中log庫的核心原理與實戰技巧,通過代碼示例解析日志管理、錯誤追蹤及性能優化的最佳實踐,助力全棧工程師構建更穩健的物聯網應用。 今天,我們一起來認識LuatOS
解鎖LuatOS-log庫:全棧工程師的日志管理實戰課!
針對全棧開發者設計的實戰教程,本文聚焦LuatOS平臺log庫的高效使用,從基礎配置到高級調試策略,手把手教你搭建可擴展的日志系統,提升項目維護效率。 今天,我們一起來認識LuatOS的log庫
log.Fatal和panic函數的區別在哪
評論