Panic を恐れるべからず Rust で panic! や assert! の利用を躊躇うべきでないという話。 個人の見解マシマシでお送りします。 この記事は Rustその3 Advent Calendar 2019 の18日目の記事である[0]。 TL;DR 不正な値の存在の存在を許してはいけない。 不正な値が存在できてしまう時点で、未定義動作を覚悟するくらいのつもりでいるべきである。 満たされるべき条件を満たさない時点で、プログラムの内部的な整合性は既に破綻しており、未定義動作も同然の状態である。 これ以上余計なことをする前にさっさとクラッシュせよ。 整合性破壊バグから「うまく復帰」できると思うのは甘え (極論)。 もうちょっと詳しくは 本題、大雑把な指針、まとめ を参照。 いろいろな panic Rust で panic させるにも様々な方法がある。 まずはそれらを見ていこう。 O
![Panic を恐れるべからず](https://cdn-ak-scissors.b.st-hatena.com/image/square/1c419c1c1fa0f9fbc3719f1e7799719f1ceaad06/height=288;version=1;width=512/https%3A%2F%2Fblog.cardina1.red%2Fassets%2Fimg%2Fprofiles%2Ficon%2Flo48576.mastodon.cardina1.red.2017-10-15.jpg)