diff --git a/src/pathways.jl b/src/pathways.jl index 13003883dba9f1520b60e467cc49af774ab84f17..df977a95ccd04ec03693a33f4fa3be78d96463b0 100644 --- a/src/pathways.jl +++ b/src/pathways.jl @@ -3,7 +3,7 @@ import LinearAlgebra: norm, tr import StaticArrays: SVector, SMatrix import ..Components: NoGradient, RFPulseComponent, ReadoutComponent, InstantGradient, GradientWaveform, DelayedEvent import ..Containers: BaseSequence, Sequence, BaseBuildingBlock, waveform, events, waveform_sequence, start_time, AlternativeBlocks -import ..Variables: qvec, qval, qval3, bmat_gradient, VariableType, effective_time, duration, TR, bmat, bval, area_under_curve, duration_dephase, duration_transverse +import ..Variables: qvec, qval, qval3, bmat_gradient, VariableType, effective_time, duration, TR, bmat, bval, area_under_curve, duration_dephase, duration_transverse, VariableNotAvailable """ @@ -170,7 +170,14 @@ function get_pathway end for fn in (:qvec, :area_under_curve, :bmat, :bval, :duration_dephase, :duration_transverse) @eval function $fn(seq::Sequence) - pathway = get_pathway(seq) + pathway = try + get_pathway(seq) + catch e + if e isa MethodError + throw(VariableNotAvailable(typeof(seq), $fn)) + end + rethrow() + end if pathway isa Pathway return $fn(pathway) elseif pathway isa AbstractVector || pathway isa Tuple