オブジェクトの例外を親プロセスにバブルアップする際のデバッグ実行方法です。ちょっとコツがあります。
方法
親プロセスの任意のステージにてSet Next Stageして、ステップインでオブジェクトの中に入ります。
![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F186221%2F2689efd5-8676-0ef8-2100-c350174a5cf9.png?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=1965c5834ee8fcfb5938223b56daf219)
ここがコツです。
オブジェクト内の例外ステージの直前にSet Next Stageします。
![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F186221%2F7de47caf-0e40-385c-a53d-b914244805a1.png?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=1be148f8cc0cb2bad51d28c05539b5a5)
例外ステージの中身はこんな感じです。
例外詳細として「検索結果画面表示エラー」を返すようにしています。
![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F186221%2Fc249520a-0c6b-059c-7a0c-63654d431990.png?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=c14cc5b340407044400bab8d2755c164)
親プロセスに戻って、復元ステージにブレークポイントを張っておきます。
そしてGoボタンをクリック。
すると、ブレークポイントを張っていた復元ステージに遷移します。
![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F186221%2Fc249520a-0c6b-059c-7a0c-63654d431990.png?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=c14cc5b340407044400bab8d2755c164)
オブジェクトからバブルアップされた例外の詳細は、ExceptionDetail()で取得できます。
![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F186221%2Fed0a5db1-e551-1d6b-6a3b-80a5998e4c7c.png?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=c90800e56c52ac2a1aef9e773abae9b4)
例外の詳細内容は以下の通り。
正しく取得されているのが分かるかと思います。
![image.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F186221%2F1581af8a-8871-4bcc-935f-f1dfcaff77eb.png?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=ac2092699bf1f0620efb7e69997822f9)