MATLAB: Print user-defined error messages as a table

error handling text formatting

Hello all,
I would like to display an error message that informs the user of a function of the options that he has avaliable. Although its possible to print it in a straight line, I would like to write them as a table, because it looks prettier 🙂
So far I have this:
error_msg = ['Polygon not supported. List of supported polygons is:', ...
' Triangle Square Pentagon Hexagon Heptagon Octagon'];
error(error_msg);
This throws the error message:
-> Polygon not supported. List of supported polygons is: Triangle Square Pentagon Hexagon Heptagon Octagon.
I would like to show it like (the bullets do not matter, I just wrote them here for formatting):
-> Polygon not supported. List of supported polygons is:
  • Triangle
  • Square
  • Pentagon
  • Hexagon
  • Heptagon
  • Octagon
Is this possible to do? Thanks in advance!

Best Answer

msg = sprintf(['Polygon not supported. List of supported polygons is:\n' ...
' Triangle\n Square\n Pentagon\n Hexagon\n Heptagon\n Octagon']);
error(msg) %#ok<SPERR>
The key is to use line breaks in the error message. I've done this using sprintf() along with \n to indicate a line break.
Another method is to use newline() within a character or string array.
msg = ['Polygon not supported. List of supported polygons is:', newline(), ...
'Triangle',newline(),'Square',newline(),'Pentagon',newline(),...
'Hexagon',newline(),'Heptagon',newline(),'Octagon'];
Related Question