dotnet/Documentation/compatibility/workflow-now-throws-origina...

37 lines
1.2 KiB
Markdown
Raw Normal View History

## Workflow now throws original exception instead of NullReferenceException in some cases
### Scope
Minor
### Version Introduced
4.7
### Source Analyzer Status
NotPlanned
### Change Description
In the .NET Framework 4.6.2 and earlier versions, when the Execute method of a workflow activity
throws an exception with a `null` value for the `P:System.Exception.Message` property, the
System.Activities Workflow runtime throws a `NullReferenceException`, masking the original
exception.
In the .NET Framework 4.7, the previously masked exception is thrown.
- [ ] Quirked
- [ ] Build-time break
### Recommended Action
If your code relies on handling the `NullReferenceException`, change it to catch the exceptions
that could be thrown from your custom activities.
### Affected APIs
* `M:System.Activities.CodeActivity.Execute(System.Activities.CodeActivityContext)`
* `M:System.Activities.AsyncCodeActivity.BeginExecute(System.Activities.AsyncCodeActivityContext,System.AsyncCallback,System.Object)`
* `M:System.Activities.AsyncCodeActivity`1.BeginExecute(System.Activities.AsyncCodeActivityContext,System.AsyncCallback,System.Object)`
* `M:System.Activities.WorkflowInvoker.Invoke`
### Category
Windows Workflow Foundation (WF)
<!-- breaking change id: 170 -->