elixir 1.7致力於提公升開發者體驗,elixir建立者josé valim這樣寫道。其中包括新增__stacktrace__
結構檢索堆疊蹤跡,整合erlang新增的:logger
模組,改進elixir的單元測試庫exunit,支援文件元資料。
\\ elixir 1.7改進了異常系統,argumenterror
、arithmeticerror
和keyerror
異常提供了更多的診斷資訊,並且新增乙個__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...