第9章:例外処理(Exception Handling)としての恩寵

1. システムの限界点:死に至るバグ「罪」

これまでの旅を通じて、私たちは旧約聖書がいかに緻密な論理体系によって構築されているかを見てきた。神の聖性という「基底クラス」、十戒という「バリデーションルール」、契約という「if-elseの分岐」、そして知恵という「帰納的な最適化」。これらのコードが正常に動作している限り、イスラエルというシステムは完璧な秩序を保つはずだった。

しかし、この壮大なアーキテクチャには、設計段階からあらかじめ組み込まれていた、あるいは必然的に発生した「脆弱性」が存在する。それは、実行主体である人間が「罪(Sin)」という名の、予測不可能な、あるいは仕様に反する入力を繰り返し行うという点である。

プログラミングの文脈において、想定外の入力や内部状態の矛盾によってプログラムの正常な進行が妨げられる事態を「例外(Exception)」と呼ぶ。もしこの例外が適切に処理されなければ、システムは「カーネルパニック」を起こして停止(クラッシュ)する。旧約聖書の文脈で言えば、それは「イスラエルの滅亡」であり、「死」という名のプロセス終了である。

本章では、律法という厳格な論理の連鎖が「罪」という例外で停止する時、神がいかにして「恩寵(Grace)」という高度な例外処理を発動させるかを考察する。そこには、単なるルールの無視ではない、宇宙的な「例外処理(Exception Handling)」のアルゴリズムが働いている。

2. プログラミング的フィルター:Try-Catch構造と恩寵のインターセプト

現代のプログラミング言語(Java, Python, C#など)において、エラーに対処するための標準的な枠組みが try-catch 構造である。

  • Tryブロック: 通常の処理(律法の履行)を記述する場所。「もしこれを行えば、生きる」というメインロジックが走る。
  • Catchブロック: 例外が発生した瞬間に制御を移し、破滅的なクラッシュを防ぐための「救済処置」を記述する場所。これが「恩寵」に相当する。
  • Finallyブロック: 例外の有無にかかわらず実行される、システムの整合性を保つための最終処理。これが「神の栄光」や「契約の永続性」に相当する。
try {
    // 律法のメインループ
    ExecuteLaw(humanAction);
} catch (SinException ex) {
    // 恩寵による例外処理
    if (God.ApplyGrace(ex)) {
        HandleAtonement(ex); // 贖いによるリセット
        Log("Sinner is forgiven and process continues.");
    } else {
        throw; // 処理不能な場合は裁きが執行される
    }
} finally {
    MaintainCovenant(); // 契約の維持
}

旧約聖書における律法(if-elseの連鎖)は、本来であれば if (sin) { die(); } という一方向の論理で完結していた。しかし、神という「最高位の管理者」は、システム全体を完全にデリート(消去)する代わりに、この catch ブロックという「恩寵のレイヤー」を挿入したのである。

恩寵とは、ロジックを無視することではない。それは、例外(罪)が発生したという事実を認めつつも、その例外が引き起こすはずの「強制終了(死)」という結果を、別のサブルーチン(贖いの犠牲、あるいは神の憐れみ)へとリダイレクト(転送)し、プロセスを継続させる高度な制御技術なのである。

3. 言語学的・論理学的フィルター:恩寵のアブダクション

恩寵という概念は、実は「演繹法(Deduction)」からは導き出せない。 演繹法によれば、「神は正しい」かつ「罪は裁かれるべき」である以上、罪人が救われるという結論は「論理矛盾」である。しかし、歴史という実行環境において、罪を犯し続けているイスラエルがなおも存続しているという「驚くべき事実(C)」が存在する。

預言者や詩人たちは、この矛盾を解くために「アブダクション(仮説的推論)」を行う。

  1. 驚くべき事実(C): 民は罪深い。法に従えば滅びるはずだ。しかし、彼らはまだ滅びていない。
  2. 仮説(A): もし、神のアルゴリズムの中に「正義の計算」を一時的に保留し、代わりのコスト(犠牲)を支払うことでエラーを無効化する「恩寵(ヘセド)」という隠れた関数が存在するとしたら、この生存は説明がつく。
  3. 結論: 神は単なる「冷徹な計算機」ではなく、「恩寵を運用する設計者」であるという仮説を採用すべきだ。

このアブダクションにより、恩寵は「法の弱体化」ではなく、「法を維持しつつ、システムを救うための超法規的な最適化解」として再定義された。

4. メタファーの転換:ハードウェアのリファクタリング(石の心から肉の心へ)

恩寵のアルゴリズムが、単なる「エラーの無視(Ignore)」で終わらないことを示す最も強力なメタファーが、預言者エゼキエルによって提示されている。

「わたしはあなたがたに新しい心を与え、あなたがたのうちに新しい霊を授ける。あなたがたの体から石の心を取り除き、肉の心を与える。」(エゼキエル書36:26)

これをプログラミングの視点で解釈するなら、ソフトウェア的なパッチ(修正プログラム)の配布ではなく、**「ハードウェア(性質)のリファクタリング、あるいは交換」**である。

  • 石の心(Heart of Stone): これは「Read-Only Memory(ROM)」のようなものである。一度刻まれた情報は書き換えられず、柔軟性がない。律法という入力に対して「頑な(硬直)」に反応し、エラーを起こせばそのまま砕けるしかない古いアーキテクチャの象徴。
  • 肉の心(Heart of Flesh): これは「Programmable RAM」あるいは、神の霊(OS)と直接通信可能な「バイオ・インターフェース」である。入力(神の意志)に対して動的に反応し、自らをアップデートし続ける柔軟性を持つ新しいハードウェア。

恩寵の最終的な目的は、catch ブロックでエラーを処理し続けることではない。それは、エラーそのものが発生しにくい、あるいはエラーを自己修復できる「新しい人間(New Instance)」へとシステム全体をアップグレードすることにある。石の心から肉の心への交換というメタファーは、恩寵がいかにして人間の「基底レイヤー」にまで干渉し、性質そのものを書き換えるかを鮮明に描き出しているのである。

5. 恩寵のコスト:例外処理のオーバーヘッド

プログラミングにおいても、例外処理(try-catch)は「コスト」がかかる作業である。スタックトレースを生成し、メモリの状態を保存し、制御を移動させるには、通常の処理以上のCPUリソースを消費する。

聖書のアルゴリズムにおいても、恩寵は「無料」ではない。例外(罪)を処理するためには、その不整合を埋め合わせるための「代価(Cost)」が必要となる。それが旧約聖書における「生け贄」であり、後の神学的展開における「代贖」という概念である。

神が恩寵を発動させるとき、神は自らのシステムの整合性を保つために、その「コスト」を自ら、あるいは自らが指定した身代わりによって負担する。恩寵とは、ユーザー(人間)のミスを管理者が肩代わりし、システムを強制終了させずに「再起動(リブート)」させる、神の側からの多大な「演算資源の投入」なのである。

6. 第9章の結論:恩寵という名の「メタ・ロジック」

第9章を通じて、私たちは聖書が提示する「究極の解決策」としての恩寵を解剖した。 恩寵は、律法(ifの連鎖)を破棄するものではない。むしろ、律法が「エラー」として検出した事態を、catch ブロックによって適切に処理し、システム全体が死に至るのを防ぐための「メタ・ロジック」である。

そして、その処理の極致は、人間というハードウェアそのものを「石」から「肉」へと交換し、神の霊(OS)が直接駆動する新しい存在へとリファクタリングすることにある。

「もし~ならば」という条件の奴隷であった人間は、この恩寵という例外処理によって、条件を超えた「愛のアルゴリズム」の中に組み込まれる。しかし、この恩寵のシステムもまた、ある一つの「究極の自己言及的コード」によって支えられている。

次章(第10章)では、あらゆるif文の前提条件であり、宇宙というプログラムの「メタ・ソースコード」である、神の自己定義――「私はあるという者である(再帰的構造)」――について考察していく。