トライキャッチ演習中のエラー

Uipath開発中級コーストライキャッチの課題の
ワークフローのエラーが解消されず困っています。
エラー内容は画面の通りで、ワークフローは添付しました。
トライキャッチ以前に行取得のあたりで問題があるようなのですが。。。

【課題】
[トライキャッチ (Try Catch)] を使用し、Excel ファイルの列 A または列 B に空白が入っ
ていた場合に、Catch ブロックで NullReferenceException として、例外があったことを実
行結果として列 C のセルに書き込み、処理を続行するようなワークフローを作成

Main.xaml (13.6 KB)

【エラーコード】
ソース: 行項目を取得

メッセージ: StringConverter を System.Double から変換できません。

例外の型: System.NotSupportedException

Hi @Xiao1 !

It’s because you are trying to sum up two generic values (ValueA and Value B).
If you change the type of ValueA and ValueB to Int32, the problem is solved:

TrycatchMain.xaml (15.0 KB) コメントありがとうございます。変数を変更しましたが、まだエラーが出ていますThank you for your comment. I changed the variable, but I still get the error

こんにちは

ValueAやValueBの型推定が、従前のデータに引きずられているように思えます。
一度、一番最初にupいただいたMain.xamlに対して、ValueAおよびValueBの変数スコープをトライーキャッチにして実行してみてもらえませんか?

Main.xaml (13.7 KB)

コメントありがとうございます。
最初のファイルの変数を変更しても、最初から新しく作成しなおしても
こちらのエラーが表示されてしまいます。

21.4.3+Branch.master.Sha.7d66317b828533c43b8fc299ec1cfdc22a138bc2

ソース: 行項目を取得

メッセージ: Int32Converter を System.Double から変換できません。

例外の型: System.NotSupportedException

RemoteException wrapping System.NotSupportedException: Int32Converter を System.Double から変換できません。
場所 System.ComponentModel.TypeConverter.GetConvertFromException(Object value)
場所 System.ComponentModel.TypeConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
場所 System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
場所 UiPath.Core.Activities.GetRowItem.Execute(CodeActivityContext context)
場所 System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
場所 System.Activities.ActivityInstance.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
場所 System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

こんにちは

最初のMain.xamlを変更いただきたかったのでValueA,ValueBはGenericValue型で試してもらえないでしょうか?

できました!ValueA,ValueBはGenericValue型 スコープ トライ&キャッチでエラーが解消されました。
また、一度成功したら、スコープをメインシーケンスに戻してもエラーでませんでした。
私のワークフローの何が悪かったのでしょうか?

また、
GenericValue型はString型Int32型どちらでも使えると思っていましたが
代入の際に左右の型を違えての使用はNGということでしょうか。
ValueC(GenericValue型)=ValueA(Int32型)+ValueB(Int32型)

こんにちは

直前に収納されたデータによって型推定が影響を受けている可能性を考慮してスコープ変更を
試していただきましたが、同じデータ、同じワークフロー(スコープ範囲)で再現できないと
なると、何かが部分的に壊れていた可能性もあるかもしれません。

GenericValue型はString型Int32型どちらでも使えると思っていましたが
代入の際に左右の型を違えての使用はNGということでしょうか。
ValueC(GenericValue型)=ValueA(Int32型)+ValueB(Int32型)

今回のエラーは「行項目を取得」で発生しているため、その後の加算の代入に関しては
問題ありません。(Int32,String双方代入可能です)

なおGenericValue型変数内の値の元となる型が異なると、演算順序によって
結果が異なることがありますのでご注意ください。詳しくは以下参照ください。

いつも丁寧に解説いただき感謝しております。
おかしなエラーが出ている場合スコープを変更したりアクティビティを入力しなおしたり
いろいろ試してみようと思います。ありがとうございました。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.