MATLAB Answers

Windows環境に​てスタンドアロンアプ​リケーションで例外発​生時にエラーダイアロ​グを出力せずに処理を​続行(終了)させるこ​とは可能ですか?

1 view (last 30 days)
Hiromitsu
Hiromitsu on 28 Feb 2020
Answered: Musashi Ito on 28 Feb 2020
Windows環境でアプリケーションコンパイラを使って生成したスタンドアロンアプリケーションで、配列の範囲外アクセス等で例外が発生した場合にエラーダイアログが出力されてダイアログを消すまでアプリケーションの実行が止まります。
例外が発生した場合にエラーダイアログ出力を抑止したうえでスタンドアロンアプリケーションの処理を続行(スタンドアロンアプリケーションが戻り値を返して終了)するスタンドアロンアプリケーションを作成ことは可能でしょうか?

  0 Comments

Sign in to comment.

Answers (1)

Musashi Ito
Musashi Ito on 28 Feb 2020
すぐできそうな対策としては、エラーが出そうなプログラムのところの関数入力をチェックするプログラムを追加して、よりロバストなアプリケーションを作成する方法はいかがでしょうか。
配列の要素数を取得する numel 関数や次元のサイズなどを取得する size 関数、変数のデータ型をチェックする関数などもあるようです。
このような チェックで想定外の入力があった場合は、警告を表示や処理をしないプログラムにすればできそうかなと思います。

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!