No, I think what is wanted here is an analogue to Rcpp::stop(), which looks
like it throws an R error
<http://stackoverflow.com/questions/24557711/how-to-generate-an-r-warning-safely-in-rcpp>
from
within C/C++ code.  I believe the intent here is to generate
high-level-language errors from low(er)-level-language libraries.
-E

On Wed, Dec 24, 2014 at 8:47 PM, Stefan Karpinski <[email protected]>
wrote:

> Isn't it the opposite of that though? I.e. catching C++ assert failures?
>
> On Wed, Dec 24, 2014 at 11:46 PM, Isaiah Norton <[email protected]>
> wrote:
>
>> This might help:
>>
>> http://docs.julialang.org/en/release-0.3/manual/embedding/#throwing-julia-exceptions
>>
>> On Wed, Dec 24, 2014 at 10:41 PM, 良无 <[email protected]> wrote:
>>
>>> In C or C++ code, I have a function:
>>>
>>> void funcname(...){
>>>    ...
>>>    assert(0);
>>>    ...
>>> }
>>>
>>>  if I run `ccall((:funcname, libpath), Void, (...), ...)` in Julia , it
>>>  will  terminate the Julia process.
>>>
>>> How can I replace assert() with other function to throw an error in
>>> Julia?
>>>
>>>
>>> > ccall((:funcname, libpath), Void, (...), ...)
>>>
>>> ERROR: ....
>>>
>>> I am sorry that I can not make it clear, and I just come to Julia from
>>> the R world.
>>>
>>> Thanks.  ;-)
>>>
>>> I'm afraid I still don't get it. What do you want to do?
>>>>
>>>>
>>>> On Dec 24, 2014, at 8:15 PM, 良无 <[email protected]> wrote:
>>>>
>>>> If you want to release an R package to CRAN, R Core will force you to
>>>> check this by R CMD check:
>>>>
>>>> - Compiled code should never terminate the R process within which it is
>>>> running. Thus C/C++ calls to assert/abort/exit, Fortran calls to STOP and
>>>> so on must be avoided. Nor may R code call q().
>>>>
>>>>
>>>> Le mercredi 24 décembre 2014 à 08:36 -0800, 良无 a écrit :
>>>>> > In my origin C++ code, I use assert(), but if I want to use this
>>>>> code
>>>>> > in Julia, maybe I need to replace it with other functions. In R, I
>>>>> can
>>>>> > use Rcpp::stop(). Is there any easy way to do it in Julia with C or
>>>>> C
>>>>> > ++ code.
>>>>> IIUC, you want to raise a Julia exception from C code, right?
>>>>>
>>>>> > And it seems that Julia does not have R CMD check like stuff yet. It
>>>>> > does not check this kind of issue.
>>>>> You mean, running a test suite? See
>>>>> http://docs.julialang.org/en/latest/stdlib/test/
>>>>>
>>>>> and how most packages do this, for example
>>>>> https://github.com/JuliaStats/StatsBase.jl/tree/master/test
>>>>>
>>>>>
>>>>> Regards
>>>>>
>>>>
>>
>

Reply via email to