2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

日本語プログラミング言語Mindの小技 「重大エラー」~プログラム実行を強制終了~

2
Last updated at Posted at 2026-05-23

はじめに

日本語プログラミング言語Mindの小技「重大エラー」について説明したいと思います。

対象読者

日本語プログラミング言語Mindのユーザー、または日本語プログラミング言語に興味のある方

この小技に関連するMind言語マニュアル

この小技に関連するMind言語仕様の記述はMind8プログラミングマニュアルに記載があります。
9 ファイル操作
└重大エラーについて

   Mindでいう「重大エラー」というのは、文字通り、重大な(致命的な)エラーであり、プログラムがこれ以上処理を続行できないと(Mindシステムが、あるいはユーザプログラムが)判断した場合を指す。プログラムは強制的に終了させられる。
 処理単語としての「重大エラー」は、言ってみれば「重大エラーにする」というニュアンスの処理単語であり、そのようなエラーをわざと引き起こす。Mind標準ライブラリが内部で使っているが、ユーザーも使うことができる。
 「重大エラー」を実行すると、次のようなことが行われる。
  ・ スタックで渡された文字列をコンソールに表示する
  ・ 処理単語「音を鳴らす」を実行する(ビープ音が鳴る)
  ・ 現在オープン中の全ファイルを強制クローズする
  ・ プログラムの実行を強制終了する・

本機能(本記事)は、下記のバージョンに対応しています。Mind8のLinux版も対応していると思いますが、本記事では特に検証を行っておりません。

対応バージョン

■Mind7 ■Mind8 ■Mind9
■Windows版 □Linux版

小技の解説

Mindの小技「重大エラー」は、Mindのプログラム実行制御機能の一つです。単語内でプログラムの実行継続が困難と判定されるようなエラーが予想される場合、その状態を判定する判定文の後にこの単語を記述すると、プログラム実行を強制終了させることができます。

強制終了直前にコンソールへ表示する文字列を指定します。

構文= <文字列>で 重大エラー  → ・ (プログラム実行終了)

文字列を指定しない場合はコンソール出力はなにもせずにほとんどの場合強制終了します。こちらは厳密にはスタック不整合になりますので推奨されません。

構文= 重大エラー  → ・ (プログラム実行終了)

本記事では詳しく紹介していませんが、組み込みのエラー判定単語を使えば、組み込みのエラー文字列を指定することもできます。

Mindプログラムソース

criticalerror.src
チェック値が0ならば重大エラーとは (チェック値 → ・)
        チェック値は 変数
        
    チェック値に 入れ 
    「処理単語の実行が開始されました。」を 一行表示し
    「チェック値:」を 表示し チェック値を 数値表示し 改行し 
    チェック値が 0に 等しい
    ならば
    「処理単語の実行中に重大エラーが発生しました。」で 重大エラー
    つぎに
    「10をチェック値で割った値:」を 表示し
    10を チェック値で 割り 数値表示し 改行し
    「処理単語の実行が正常終了しました。」を 一行表示すること。

メインとは (・ → ・)
    「プログラムの処理が開始されました。」を 一行表示し
    0で チェック値が0ならば重大エラーとして
    「プログラムの処理が正常終了しました。」を 一行表示すること。

0で除算した場合はMindのランタイム側で組み込みエラー文字列を表示して重大エラーとなりますが、ここではよくある例として0除算を事前にチェックして重大エラーとする例としています。

コンパイル結果

ではコンパイルしてみます。下位ライブラリはfileを指定します。

Mind9

下図はMind9βです。

C:\developments\vscode\mind9>mind criticalerror file

日本語プログラミング言語 Mind Version 9.03 for Windows
          Copyright(C) 1985 Scripts Lab. Inc.
コンパイル中 .. 終了
Coping.. c:\mind9-beta\Mind9-beta-7\bin\mindex.exe --> criticalerror.exe

Mind8

C:\developments\vscode\mind9>mind criticalerror file

日本語プログラミング言語 Mind Version 8.07 for Windows
          Copyright(C) 1985 Scripts Lab. Inc.
コンパイル中 .. 終了
Coping.. c:\pmind\bin\mindex.exe --> criticalerror.exe

Mind7

C:\developments\vscode\mind9>mind criticalerror file
日本語プログラミング言語 Mind Version 7.5 for Windows
          Copyright(C) 1985-2004 Scripts Lab. Inc.
          Single user license.  Serial No:********
コンパイル中 - 終了
Coping.. C:\mind7\bin\mindexec.exe -> criticalerror.exe

実行結果

つづいて実行してみます。

Mind7/8/9β

Mind8の結果です。記述は割愛していますがMind7/9βも同じです。

C:\developments\vscode\mind9>criticalerror
プログラムの処理が開始されました。
処理単語の実行が開始されました。
チェック値:0
処理単語の実行中に重大エラーが発生しました。

C:\developments\vscode\mind9>

いかがでしょうか?イメージがつかめれば幸いです。

ソースコードの下記のヶ所で0を2に修正して実行するとプログラムは完走します。

criticalerror.src
メインとは (・ → ・)
    ~略~
    2で チェック値が0ならば重大エラーとして
    ~略~
C:\developments\vscode\mind9>criticalerror
プログラムの処理が開始されました。
処理単語の実行が開始されました。
チェック値:2
10をチェック値で割った値:5
処理単語の実行が正常終了しました。
プログラムの処理が正常終了しました。

C:\developments\vscode\mind9>

処理単語内で重大エラーを実行するとその時点で実行終了していたことがわかります。

参考情報

この小技「重大エラー」を使った記述例は下記の記事が該当しています。

おわりに

いかがでしたでしょうか?なにかの参考になれば幸いです。

本記事シリーズのご紹介

  • ほとんどの記事ではMind7、8、そして9βでの検証を行っています。
  • Mind8公式マニュアルの基礎情報をベースに、Mind7・8の上級者向け情報も網羅しています。

興味を持たれた方は日本語プログラミング言語Mind公式サイトにアクセスすると、Mindコンパイラをダウンロードできますよ。

面白い!、楽しい、カンタン、難しいのも書ける!みんなでやってみよう:relaxed:しい、カンタン、難しいのも書ける!みんなでやってみよう:relaxed:

2
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?