Elixir 1 7改進錯誤處理 日誌和測試

2021-09-17 03:10:37 字數 1127 閱讀 5070

elixir 1.7致力於提公升開發者體驗,elixir建立者josé valim這樣寫道。其中包括新增__stacktrace__結構檢索堆疊蹤跡,整合erlang新增的:logger模組,改進elixir的單元測試庫exunit,支援文件元資料。

\\ elixir 1.7改進了異常系統,argumenterrorarithmeticerrorkeyerror異常提供了更多的診斷資訊,並且新增乙個__stacktrace__結構,可以用於代替system.stacktrace/0來檢索堆疊蹤跡:

\\

\try do\  ... 某個可能失敗的操作 ...\rescue\  exception -\u0026gt;\    log(exception, __stacktrace__)\    reraise(exception, __stacktrace__)\end\
\\

__stacktrace__的作用域是在詞法上確定的,不依賴於***,這點和system.stacktrace/0不同。據valim介紹,這將給未來的elixir版本帶來效能提公升,因為它使得try塊結束後就不用再跟蹤堆疊蹤跡了。

\\ elixir logger模組現在插入了erlang的:logger,這是由erlang/otp 21提供的,充分利用了後者豐富的元資料,包括:\\

\\ 如上所述,elixir的單元測試庫exunit也經過了改進,巨集assert返回的資訊更詳細了。例如,如果assert some_function(expr1, var2)語句失敗,它就會列印出some_function的引數值,這樣,就可以為開發人員節省下重新執行測試來檢視它們的值的時間。

\\ 最後,elixir 1.7還提供了文件註解作為文件元資料,如下所示:

\\

\@moduledoc \"a brand new module\"\@moduledoc authors: [\"jane\

Elixir 1 7改進錯誤處理 日誌和測試

elixir 1.7致力於提公升開發者體驗,elixir建立者jos valim這樣寫道。其中包括新增 stacktrace 結構檢索堆疊蹤跡,整合erlang新增的 logger模組,改進elixir的單元測試庫exunit,支援文件元資料。elixir 1.7改進了異常系統,argumenter...

Elixir 1 7改進錯誤處理 日誌和測試

elixir 1.7致力於提公升開發者體驗,elixir建立者jos valim這樣寫道。其中包括新增 stacktrace 結構檢索堆疊蹤跡,整合erlang新增的 logger模組,改進elixir的單元測試庫exunit,支援文件元資料。elixir 1.7改進了異常系統,argumenter...

Elixir 1 7改進錯誤處理 日誌和測試

elixir 1.7致力於提公升開發者體驗,elixir建立者jos valim這樣寫道。其中包括新增 stacktrace 結構檢索堆疊蹤跡,整合erlang新增的 logger模組,改進elixir的單元測試庫exunit,支援文件元資料。elixir 1.7改進了異常系統,argumenter...