파일 저장에 실패하면 스크립트를 중단하고 오류 메시지를 표시하는 방법은 무엇입니까?안녕,
JMP를 csv 파일로 변환하고 IP 주소를 사용하여 네트워크 PC에 저장하는 스크립트를 만들었습니다.
dt = Current Data Table();
ToolID = {"G01", "G02", "G03", "G04"};
IP_add = {"10.87.123.456", "10.87.123.789", "10.87.456.789", "10.87.789.123"};
current_pref = Char( Arg( Parse( Char( Get Preferences( Export settings ) ) ), 1 ) );
Pref( Export Settings( End Of Field( Comma ), Export Table Headers( 1 ) ) );
captxt = "";
For( i = 1, i <= N Items( IP_add ), i++,
dt << save( "\\" || IP_add[i] || "\c$\filedir\file.csv" );
Caption( "Updated " || Tester[i] || " \\" || IP_add[i] );
captxt = captxt || "
Updated " || ToolID[i] || " \\" || IP_add[i];
Wait( 0.2 );
);
Caption( captxt );
Eval( Parse( "pref(" || current_pref || ")" ) );이제 저장 명령에 .csv를 입력하는 것을 잊은 경우 스크립트는 여전히 다음 줄로 실행되고 저장이 성공하지 않더라도 성공적으로 저장되었다는 캡션을 표시합니다.
성공하지 못했다는 것을 알 수 있는 유일한 방법은 다음 오류가 있는 네트워크 PC 및 JMP 로그 파일의 파일을 확인하는 것입니다.
Unable to save file. Unknown data target.
제 질문은 이것입니다. 이 오류가 발생하면 어떻게 스크립트를 중지하고 오류 메시지를 표시합니까? 이러한 종류의 "조용한" 오류는 사용자를 오도할 수 있습니다.
Try and Throw를 사용해 보았지만 작동하지 않았습니다.
Try(dt << save( "\\" || IP_add[i] || "\c$\filedir\file.csv" );, Caption("Error! Check log."); Throw());감사해요,
샤이라
Re: 파일 저장에 실패하면 스크립트를 중단하고 오류 메시지를 표시하는 방법은 무엇입니까?@ian_jmp , 감사해요! 나는 이것을 조사할 것이다.
@msharp , 네, 앞으로는 약간의 물류, 서류 작업 등이 필요하지만 그것이 방향이라고 생각합니다. 그래서 지금은 스크립트 솔루션을 단기 수정으로 보고 있습니다.
Re: 파일 저장에 실패하면 스크립트를 중단하고 오류 메시지를 표시하는 방법은 무엇입니까?타임스탬프 방법을 사용하는 것은 좋은 생각이지만 데이터 아키텍처를 재고하는 것이 더 좋습니다.현재 방법은 동일한 csv를 여러 위치에 저장하는 것이 최적이 아니며 덮어쓰는 것은 데이터를 버리는 것입니다.데이터베이스 설정을 살펴보는 것이 좋습니다.
Re: 파일 저장에 실패하면 스크립트를 중단하고 오류 메시지를 표시하는 방법은 무엇입니까?타임 스탬프와 관련하여 살펴보십시오. 여기 'LastModificationDate()'에서
Re: 파일 저장에 실패하면 스크립트를 중단하고 오류 메시지를 표시하는 방법은 무엇입니까?안녕 @msharp ,
입력해 주셔서 감사합니다. 아쉽게도 IP 주소 입력이 많아 파일 검사 방법을 할 수 없습니다.
파일이 이미 있고 내가 알아야 할 것은 파일이 업데이트되었는지 여부입니다(타임스탬프를 확인하여 수행할 수 있음). 언급 한대로 ".csv"를 확인하는 것이 가장 좋지만이 "조용한 오류"를 유발할 수있는 다른 것이 무엇인지 모르기 때문에 정말 멍에를 원합니다.
나는 이것을 현재 스크립트에 추가할 것이라고 생각합니다.
1. for 루프에서 이미 작성된 코드를 실행하고 저장 전과 후에 파일 타임스탬프를 가져오는 코드 줄을 추가합니다.
2. 이전과 이후 타임스탬프가 같으면 오류에 플래그를 지정합니다.
아직 타임 스탬프를 얻는 방법을 모르지만 다음부터 시작하겠습니다. https://community.jmp.com/t5/Discussions/How-to-make-JSL-get-file-timestamp/td-p/3764
다시 한번 감사드립니다.
Re: 파일 저장에 실패하면 스크립트를 중단하고 오류 메시지를 표시하는 방법은 무엇입니까?저장하고 파일이 있는지 확인하십시오.그렇지 않으면 저장되지 않았습니다.
dt = Current Data Table();
ToolID = {"G01", "G02", "G03", "G04"};
IP_add = {"10.87.123.456", "10.87.123.789", "10.87.456.789", "10.87.789.123"};
current_pref = Char( Arg( Parse( Char( Get Preferences( Export settings ) ) ), 1 ) );
Pref( Export Settings( End Of Field( Comma ), Export Table Headers( 1 ) ) );
captxt = "";
For( i = 1, i <= N Items( IP_add ), i++,
location = "\\" || IP_add[i] || "\c$\filedir\file.csv";
dt << save( location );
//Should work, may not depending on your network settings
If( !File Exists( location ), Caption("Error! Failed to save to location: " || location); Throw());
//Could also try opening it, which will throw an error if it doesn't exist
Try(dttemp = Open(location); Close(dttemp, nosave), Caption("Error: " || exception_msg); Throw());
Caption( "Updated " || Tester[i] || " \\" || IP_add[i] );
captxt = captxt || "
Updated " || ToolID[i] || " \\" || IP_add[i];
Wait( 0.2 );
);
Caption( captxt );
Eval( Parse( "pref(" || current_pref || ")" ) );
" 저장 명령에 .csv를 넣는 것을 잊어버린 경우"라는 메시지가 표시되면 사용자가 이를 잊어버렸는지 확인하고 수정하는 것이 더 합리적입니다.즉, 네트워크 또는 연결 문제가 있는 경우 이 오류가 필요할 수 있습니다.