Thanks! jl_error() is what I want here.

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] <javascript:>> 
> 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