it says error using assert, assertion failed and error in iuntitled (line 10) assert(ischar(in))
32 ビュー (過去 30 日間)
古いコメントを表示
error using assert
Assertion failed
Error in iuntitled (line 10)
assert(ischar(in))
3 件のコメント
回答 (2 件)
Geoff Hayes
2022 年 6 月 17 日
@Ian - as per the function comment, Encode a single character i. I suspect that you are passing something else i.e. a numeric value like
>> encodeCharacter(42)
Error using encodeCharacter (line 8)
Assertion failed.
Try doing
>> encodeCharacter('4')
ans =
'1010001110101110'
or any other character. Note that you can only pass in one character. If you pass in 2 or more, then a different assert will fire.
0 件のコメント
Cris LaPierre
2022 年 6 月 17 日
That is what an assert does. If the assertion fails (here that means that in is not a char), then an error is thrown and the message 'Assertion failed.' is thrown.
% Assertion is true -> no error
in = '5';
assert(ischar(in))
% Assertion is false -> error
in = 5;
assert(ischar(in))
2 件のコメント
Daniel Lyddy
2023 年 12 月 15 日
I hate the fact that it prints "Error using assert." That misleads developers into thinking they've coded up their assert() lines incorrectly.
I just want to print my own error message. The other stuff is confusing to my end users, and should only be printed as a default if I have not provided my own error message.
Stephen23
2023 年 12 月 15 日
編集済み: Stephen23
2023 年 12 月 15 日
@Daniel Lyddy: it is also strangely inconsistent: ERROR does not state "Error using error":
error('some text')
MATLAB versions until at least R2021a did not include the text "Error using assert", so it is a recent change:
Apparently someone meddled in something that worked perfectly. My guess is that new text was introduced with this behavior change in R2022a:
A related topic, where someone meddled with ERROR to try and "improve" it... thus rendering it useless:
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!