Second, after the execution of "exception_handling" the exception is not propagated outside the block (unless a 'codice_17' statement is explicitly inserted within the "exception_handling" code). Octave has a mechanism for handling functions that take an unspecified number of arguments without explicit upper limit. To specify a list of zero or more arguments, use the special argument codice_18 as the last (or only) argument in the list. function s = plus (varargin) end A function can be set up to return any number of values by using the special return value codice_19. For example: function varargout = multiassign (data) end It is also possible to execute Octave code directly in a C++ program. For example, here is a code snippet for calling codice_20:  ColumnVector NumRands(2); NumRands(0) = 10; NumRands(1) = 1; octave_value_list f_arg, f_ret; f_arg(0) = octave_value(NumRands); f_ret = feval("rand", f_arg, 1); Matrix unis(f_ret(0).matrix_value()); C and C++ code can be integrated into GNU Octave by creating oct files, or using the MATLAB compatible MEX files. Octave has been built with MATLAB compatibility in mind, and shares many features with MATLAB:   Octave treats incompatibility with MATLAB as a bug; therefore, it could be considered a software clone, which does not infringe software copyright as per "Lotus v. Borland" court case. MATLAB scripts from the MathWorks' FileExchange repository in principle are compatible with Octave. However, while they are often provided and uploaded by users under an Octave compatible and proper open source BSD license, the fileexchange's Terms of use prohibit any usage beside MathWorks' proprietary MATLAB. There are a few purposeful, albeit minor, syntax additions:   Many, but not all, of the numerous MATLAB functions are available in GNU Octave, some of them accessible through packages in Octave Forge. The functions available as part of either core Octave or Forge packages are listed online. A list of unavailable functions is included in the Octave function __unimplemented.m__. Unimplemented functions are also listed under many Octave Forge packages in the Octave Wiki.