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

1.SikuliXで学ぶ例外処理

 1-1.事前準備

 1-2.プログラム開発

 1-3.実行

【Point】 例外処理とは
例外処理とはプログラム実行中、なんらかのエラーが発生した場合に処理を中断して別の処理を行うことです。例外が発生しないプログラムはほぼ無い上に、RPAは特に例外が発生しやすい分野と言えますので、必ず身に付けてください。
【RPA超入門】は無料のオープンソースRPA「SikuliX」を使ってRPAの基礎を学ぶコーナーです。プログラミングもできるようになりますので、プログラミング未経験者にもおすすめの連載です。
≫過去の記事一覧【RPA超入門】

 

今回作成するプログラム

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

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

 

1.SikuliXで学ぶ例外処理

1-1.事前準備

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

前回のプログラムを再利用します。第5回「今度は日本語であいさつだ」で使ったプログラムを変更して使います。まず、「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)

 

1-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 現在のソースコードウィンドウ

 

1-3.実行

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

図12 例外のポップアップ

 

まとめ

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

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

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

 

関連ページ

Topトップページ

SikuliXで学ぶRPA超入門【豊富な画像と丁寧な説明です】

 

<<前のページ

【Sikuliで学ぶRPA超入門‐第5回】関数を学ぼう

 

研修のご依頼
RPAやプログラミングの研修講師をお請けしています。著書「オープンソースで作る!RPAシステム開発入門」をお読みいただいた法人様に対する教育/サポートもお請けできます。

 

質問/お問い合わせ
RPAや自動化全般についての疑問・質問・お仕事の依頼などはお問い合わせフォームよりお気軽にお問い合わせください。