728x90
728x90

예외처리 3

System] ARM Exception

ARM Exception ## Exception 외부에서 발생한 인터럽트나 알 수 없는 명령어가 실행되는 것처럼 오류 발생 시 사건을 처리하는 것 프로그램 실행->예외 발생->예외 모드 전환->예외 모드->예외 처리->프로그램 복귀 # 종류 Reset, Data Abort, Undefined Instructions, IRQ(Normal interrupt), Software Interrupt(SWI), FIQ(Fast interrupt), Prefetch Abort ## Exception Vector 에외가 발생하면 실행하던 프로그램을 멈추고 지정된 주소로 분기하기 위해 지정된 주소 ## 예외 처리 1. r14_ = 복귀 주소2. SPSR_ = CPSR3. CPSR[4:0] = 예외 모드 번호4. CPSR..

C#] 널 관련 연산자

널 접합 연산자(널 병합 연산자) : ??null-coalescing operator 좌측 피연산자가 null이 아니면, 그 피연산자에 의해 평가되고,좌측 피연산자가 null이면 우측 피연산자로 평가됨좌변이 null이 아닌 경우에는 우변은 절대 평가하지 않음.이 연산자는 nullable 형식과도 함께 사용 가능. 연산자는 다음 예처럼 변수에 default를 배정하는 데 사용할 수 있음. 12string s1 = null;string s2 = s1 ?? "우변" ; // s2는 "우변"으로 평가cs 널 조건 연산자 : ?.null-conditional operator C# 6.0에 새로 추가된 연산자로, 'Elvis 연산자'로도 불림.해당 연산자를 이용하면 표준적인 마침표 연산자를 이용해 메서드를 호출하거..

C#] 정수 Overflow와 checked, unchecked 연산자

실행 시점에서 정수 형식에 대한 산술 연산이 형식에 담을 수 없을 정도로 크거나 작을 수 있음.이 경우 overflow가 발생하는데, 이 경우, 어떠한 예외도 던져지지 않고,연산의 결과는 끝에서 끝으로 순환(wraparound)됨. 더 큰 정수 형식으로 연산을 수행한 후, 여분의 유효 자리 비트들을 폐기한 것과 같은 결과가 나오는 것이 대표적인 예 123int a = int.Minvalue;a--;Console.WirteLine (a == int.MaxValue);cs 이러한 경우의 예외 처리를 해주고 싶을 때 checked 연산자를 이용하면 예외 처리가 가능하다. checked 연산자 / unchecked 연산자표현식이나 문장에 checked 연산자를 지정하면, 실행시점에서 해당 형식의 산술 한계를 넘..

728x90