【第6回】Sikuliで学ぶRPA超入門:例外処理を学ぼう

こさい
こさい

こんにちは。完全自動化研究所の小佐井です。
RPAとプログラミングの基礎を身に付ける連載の第6回です。
今回は「例外処理」です。

正常なプログラム処理はわかってきたという方に向けて、例外(エラー)が発生した時の対処方法について、SikuliXを使って解説します。

【Point】 例外処理とは
例外処理とはプログラム実行中、なんらかのエラーが発生した場合に処理を中断して別の処理を行うことです。例外が発生しないプログラムはほぼ無い上に、RPAは特に例外が発生しやすい分野と言えますので、必ず身に付けてください。

それでは、どうぞ!

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。RPA開発および支援8年超
2) RPA関連の書籍を5冊出版。現在はGPT×PADの書籍を執筆中!
3)当サイトのプレミアム会員募集中!無限回答、動画見放題。詳しくはこちら

例外処理を学ぼう

こさい
こさい

最初に今回作成するプログラムを見ましょう

今回作成するプログラム

図1が今回作成するプログラムの全容です。2つのパートに分かれています。作業中に全体が分からなくなったときは、ここを確認しながら進めてください。

図1 作成するプログラムの全容

事前準備

準備1:別名で保存しましょう

前回のプログラムを再利用します。「【第5回】Sikuliで学ぶRPA超入門:関数を学ぼう」で使ったプログラムを変更して使います。まず、「C:\RPA\JB1001\JB100105.sikuli」を開いてください。SikuliX開発画面のメニュー「ファイル」をクリックし、「開く」をクリックします(図2)。

図2 メニュー「開く」をクリック

「Open a Sikuli Script」ダイアログが開きますので(図3)、「JB100105.sikuli」をクリックします。ファイル名に「JB100105.sikuli」と表示されますので、「Select」をクリックします。JB100105.sikuliが開きます。他のプログラムが開いているときは「×」をクリックして閉じてください。間違えて、他のプログラムを変更してしまうことがありますから。ソースコードウィンドウには「JB100105」だけになりましたね!?

図3 「Open a Sikuli Script」ダイアログ

では、別名で保存します。SikuliX開発画面のメニュー「ファイル」をクリックし(図4➊)、「名前を付けて保存」をクリックします(図4❷)。

図4 名前を付けて保存

「Save a Sikuli Script」ポップアップが出ますので、フォルダ名に「JB100106」と書き加えて(図5➊)、「Save」をクリックしてください

図5 保存ダイアログ

準備2:すべてのファイルを削除しましょう

SikuliXが作ったテキストファイルは削除してください(図6)。

図6 デスクトップ上のファイル

【Hint】画像の誤認を避ける
デスクトップ上にHello.txtと似たテキストファイルをたくさん保存している場合、SikuliXがそのテキストファイルをHello.txtと誤認してしまう可能性があります。画像の誤認を避けるテクニックを解説します。

デスクトップ上に「Hello.txtとHello2.txt」があるとします。ソースコードウィンドウのHello.txtの画像をクリックすると図7❶、「パターン設定」画面が起動します。「マッチングプレビュー」タブをクリックします

Hello.txtと似た画像があればターゲットとしてマッチングされます。この場合はHello2.txtもマッチングされています。マッチングされているかどうかは赤色で表示されますのでわかります。画面したにマッチング精度が表示されており、デフォルトは0.7(70%)です。

図7 マッチングプレビュー(1)

このマッチング精度を上げてみましょう。マッチング精度を上げるとHello.txtだけがマッチングするようになりました(図8)。精度が決まったら、「OK」をクリックして確定しましょう。

図8 マッチングプレビュー(2)

プログラム開発

2行目にリスト1のプログラムを記述してください。tryの位置はインデントしてください。入力し終わるとソースコードウィンドウは図9のようになります。


    try:
    except FindFailed, e:
        popup(u"Hello.txtの画像が見つかりませんでした")

リスト1 日本語であいさつを書き込むプログラム

【Program】try~except

例外処理に使う構文です。tryからexceptに挟まれた「tryブロック」内で例外が発生したら、except以下の処理が行われてます。リスト1では、try:のあとのプログラムでFindFaild例外(画像が見つからないエラー)が発生したら、「Hello.txtの画像が見つかりませんでした」というポップアップが表示されます。

図9 現在のソースコードウィンドウ

図10の部分をtry:の下の行に移動します。移動した青枠のプログラムはインデントします。インデント後は図11のようになります。

図10 tryブロックの作成

図11 現在のソースコードウィンドウ

実行

保存してから実行してください。Hello.txtがデスクトップ上にないので、エラーが発生し、図12のポップアップが表示されます。「OK」をクリックしてポップアップを閉じてください

図12 例外のポップアップ

まとめ

このページでは例外処理を学びました。どんなプログラムでも必ず例外が発生する可能性がありますので、例外処理は非常に大切です。

例外処理を身に付けたら、基本的なプログラミングを身に付けたと言えます。これで「RPA超入門」は終了です。

こさい
こさい

おめでとうございます!

さらに本格的にSikuliXを利用してRPAを構築したい方には、私の著書「オープンソースで作る!RPAシステム開発入門 設計・開発から構築・運用まで」をおすすめします。

関連する記事