의도적으로 JSL에서 오류 발생나는 이 작업을 수행하는 방법을 찾기 위해 포럼과 스크립팅 인덱스를 검색해 왔지만 내가 하려는 작업을 수행하는 데 필요한 어떤 것도 찾지 못했습니다.저는 Python의 "Raise" 함수와 비슷한 기능을 가진 것을 찾고 있습니다.또는 본질적으로 Try Throw 문과 동일한 기능이지만 JSL 예외가 발생하지 않습니다.
예를 들어, 나는 사용자가 문자열 형식으로 날짜를 입력하도록 요구하는 함수를 작성하고 있습니다.오류를 방지하기 위해 함수에서 사용하기 전에 입력을 확인하고 싶습니다.
Example Function = Function({start_date,end_date},
chk1 = Is String(start_date);
If(chk1 == 0, //Raise some error here);
);Show("Error message") 및 Break() 시퀀스를 사용하여 원하는 작업을 수행할 수 있다고 생각하지만 이 작업을 수행하기 위한 기본 JSL 메서드가 있는지 궁금합니다.
Re: 의도적으로 JSL에서 오류를 발생시켰습니다.Throw를 사용하여 오류를 던질 수 있습니다.사용자 입력 오류를 캡처하는 맥락에서 OnValidate 메시지와 함께 모달 창을 사용할 수 있습니다.
NewWindow("Demo", <<MODAL></MODAL>
Re: 의도적으로 JSL에서 오류를 발생시켰습니다.사용자에게 오류 메시지를 제공하고 실행을 종료하기 위해 던지는 모달 창의 조합을 사용합니다.
Example Date Check = Function({start_date,end_date},
chk1 = Is String(start_date);
If (!chk1 == 0,
emsg = "Invalid start date [" || char(start_date) || "]";
ew = new window("Invalid date", << modal(),
text box(emsg),
);
throw(emsg);
);
chk2 = Is String(end_date);
If (!chk2 == 0,
emsg = "Invalid end date [" || char(end_date) || "]";
ew = new window("Invalid date", << modal(),
text box(emsg),
);
throw(emsg);
);
);
example date check(today(), today());
example date check("31-Feb-2018", today());Re: 의도적으로 JSL에서 오류를 발생시켰습니다.당신이 사용할 수있는 던지다() 시도 때도 없이. 파이썬의 raise()와 비슷하다고 생각합니다.
//:*/
show("Here");
throw("This didn't work");
show("Here 2");
/*:
"Here";
This didn't work
Re: 의도적으로 JSL에서 오류를 발생시켰습니다.Try() 함수를 사용한 다음 결과를 확인하세요.