エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
RのC APIを使う時、当然ですが任意の操作は失敗する可能性があります。 このために、Rのコードでいうtry... RのC APIを使う時、当然ですが任意の操作は失敗する可能性があります。 このために、RのコードでいうtryCatch()にあたるものがいくつか提供されています。 https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Condition-handling-and-cleanup-code この中で、もっともオーバーヘッドが少ないのが R_UnwindProtect() であり、cpp11 でも extendr でも使われているものです。 しかし、これを使うにはけっこう難しい話を理解する必要があります。 何がまずいのか そもそも、C++やRustの中でRのエラーを呼び出すことはundefined behaviorにつながると言われています。 Rのエラーはlongjmpで実装されているので、unwind時にC++のdestru