Solidity로 오류 처리 - 요구 vs 되돌리기 - Solidity 오류에 대해 2022년에 알아야 할 사항
assert
및 require
는 조건을 확인하는 편의 함수입니다. 조건이 충족되지 않으면 예외가 발생합니다.필요하다
Require는 실행 시간까지 감지할 수 없는 함수에 대한 잘못된 입력 데이터의 오류 조건(예상/유효한 입력 데이터와 비교할 때)을 위해 예약되어 있습니다. 이것은 프로그래밍 언어 argot의 함수 전제 조건에 해당합니다. 컴파일러는 입력 데이터의 무한한 가능성으로 인해 도움을 줄 수 없습니다.
REQUIRE 함수가 수행할 작업
코드 예
contract Error {
function errorRequire(uint _i) public pure {
require(_i <=10, "i must be greater than 10");
// code
}
}
Require는 다음과 같은 조건을 검증하는 데 사용해야 합니다.
돌아가는 것
되돌리기는 비즈니스 로직에 영향을 미치는 오류 조건을 위해 예약되어 있습니다. 예를 들어 투표가 이미 마감되었을 때 누군가가 투표를 보냅니다.
REVERT 함수가 수행할 작업
Nested If Statement
와 같이 더 복잡한 논리를 사용합니다. 코드 예
contract Error {
function errorRevert(uint _i) public pure {
if (_i > 10)
revert("Input must be greater than 10");
);
}
}
되돌리기는 확인할 조건이 복잡한 경우에 유용합니다. - 입력
요약
require()
를 사용하여 실행하기 전에 입력 및 조건의 유효성을 검사합니다. revert()
는 실행을 중단하고 상태 변경을 되돌리는 데 사용됩니다Reference
이 문제에 관하여(Solidity로 오류 처리 - 요구 vs 되돌리기 - Solidity 오류에 대해 2022년에 알아야 할 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/odutolaabisoye/require-vs-revert-what-you-should-know-in-2022-on-solidity-error-2i3e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)